├── .github └── workflows │ └── build.yml ├── .gitignore ├── LICENSE ├── Makefile.toml ├── README.md ├── demo-android ├── app │ ├── .gitignore │ ├── app.iml │ ├── build.gradle │ ├── proguard-rules.pro │ ├── release │ │ └── output-metadata.json │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── afoxer │ │ │ └── rustlib │ │ │ └── RustLibTest.java │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── afoxer │ │ │ └── rustlib │ │ │ └── MainActivity.java │ │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ └── values │ │ └── strings.xml ├── build.gradle ├── demo-android.iml ├── generate.sh ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── local.properties ├── rustlib │ ├── Cargo.lock │ ├── Cargo.toml │ ├── Rsbind.toml │ └── src │ │ ├── lib.rs │ │ └── rsbind.rs ├── settings.gradle └── template-android.iml ├── demo-ios ├── .gitignore ├── .travis.yml ├── Example │ ├── Podfile │ ├── Podfile.lock │ ├── Pods │ │ ├── Local Podspecs │ │ │ ├── demo-ios.podspec.json │ │ │ └── rustlib.podspec.json │ │ ├── Manifest.lock │ │ ├── Pods.xcodeproj │ │ │ └── project.pbxproj │ │ └── Target Support Files │ │ │ ├── Pods-demo-ios_Example │ │ │ ├── Pods-demo-ios_Example-Info.plist │ │ │ ├── Pods-demo-ios_Example-acknowledgements.markdown │ │ │ ├── Pods-demo-ios_Example-acknowledgements.plist │ │ │ ├── Pods-demo-ios_Example-dummy.m │ │ │ ├── Pods-demo-ios_Example-frameworks.sh │ │ │ ├── Pods-demo-ios_Example-umbrella.h │ │ │ ├── Pods-demo-ios_Example.debug.xcconfig │ │ │ ├── Pods-demo-ios_Example.modulemap │ │ │ └── Pods-demo-ios_Example.release.xcconfig │ │ │ ├── Pods-demo-ios_ExampleTests │ │ │ ├── Pods-demo-ios_ExampleTests-Info.plist │ │ │ ├── Pods-demo-ios_ExampleTests-acknowledgements.markdown │ │ │ ├── Pods-demo-ios_ExampleTests-acknowledgements.plist │ │ │ ├── Pods-demo-ios_ExampleTests-dummy.m │ │ │ ├── Pods-demo-ios_ExampleTests-frameworks.sh │ │ │ ├── Pods-demo-ios_ExampleTests-umbrella.h │ │ │ ├── Pods-demo-ios_ExampleTests.debug.xcconfig │ │ │ ├── Pods-demo-ios_ExampleTests.modulemap │ │ │ └── Pods-demo-ios_ExampleTests.release.xcconfig │ │ │ └── rustlib │ │ │ ├── rustlib-Info.plist │ │ │ ├── rustlib-dummy.m │ │ │ ├── rustlib-prefix.pch │ │ │ ├── rustlib-umbrella.h │ │ │ ├── rustlib.debug.xcconfig │ │ │ ├── rustlib.modulemap │ │ │ └── rustlib.release.xcconfig │ ├── demo-ios.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── demo-ios-Example.xcscheme │ ├── demo-ios.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ ├── demo-ios │ │ ├── AppDelegate.swift │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.xib │ │ │ └── Main.storyboard │ │ ├── Images.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── ViewController.swift │ └── demo-ios_ExampleTests │ │ ├── Info.plist │ │ └── demo_ios_ExampleTests.swift ├── LICENSE ├── README.md ├── _Pods.xcodeproj └── rustlib │ ├── Cargo.lock │ ├── Cargo.toml │ ├── Rsbind.toml │ ├── _gen │ ├── bin │ │ └── swift_gen │ ├── header │ │ └── ffi.h │ ├── ios_artifact │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Example │ │ │ ├── Podfile │ │ │ ├── Podfile.lock │ │ │ ├── Pods │ │ │ │ ├── Local Podspecs │ │ │ │ │ └── rustlib.podspec.json │ │ │ │ ├── Manifest.lock │ │ │ │ ├── Pods.xcodeproj │ │ │ │ │ └── project.pbxproj │ │ │ │ └── Target Support Files │ │ │ │ │ ├── Pods-rustlib_Example │ │ │ │ │ ├── Pods-rustlib_Example-Info.plist │ │ │ │ │ ├── Pods-rustlib_Example-acknowledgements.markdown │ │ │ │ │ ├── Pods-rustlib_Example-acknowledgements.plist │ │ │ │ │ ├── Pods-rustlib_Example-dummy.m │ │ │ │ │ ├── Pods-rustlib_Example-frameworks.sh │ │ │ │ │ ├── Pods-rustlib_Example-umbrella.h │ │ │ │ │ ├── Pods-rustlib_Example.debug.xcconfig │ │ │ │ │ ├── Pods-rustlib_Example.modulemap │ │ │ │ │ └── Pods-rustlib_Example.release.xcconfig │ │ │ │ │ ├── Pods-rustlib_Tests │ │ │ │ │ ├── Pods-rustlib_Tests-Info.plist │ │ │ │ │ ├── Pods-rustlib_Tests-acknowledgements.markdown │ │ │ │ │ ├── Pods-rustlib_Tests-acknowledgements.plist │ │ │ │ │ ├── Pods-rustlib_Tests-dummy.m │ │ │ │ │ ├── Pods-rustlib_Tests-umbrella.h │ │ │ │ │ ├── Pods-rustlib_Tests.debug.xcconfig │ │ │ │ │ ├── Pods-rustlib_Tests.modulemap │ │ │ │ │ └── Pods-rustlib_Tests.release.xcconfig │ │ │ │ │ └── rustlib │ │ │ │ │ ├── rustlib-Info.plist │ │ │ │ │ ├── rustlib-dummy.m │ │ │ │ │ ├── rustlib-prefix.pch │ │ │ │ │ ├── rustlib-umbrella.h │ │ │ │ │ ├── rustlib.debug.xcconfig │ │ │ │ │ ├── rustlib.modulemap │ │ │ │ │ └── rustlib.release.xcconfig │ │ │ ├── Tests │ │ │ │ ├── Info.plist │ │ │ │ └── Tests.swift │ │ │ ├── rustlib.xcodeproj │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace │ │ │ │ │ └── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ └── xcschemes │ │ │ │ │ └── rustlib-Example.xcscheme │ │ │ ├── rustlib.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── rustlib │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Base.lproj │ │ │ │ ├── LaunchScreen.xib │ │ │ │ └── Main.storyboard │ │ │ │ ├── Images.xcassets │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ └── Contents.json │ │ │ │ ├── Info.plist │ │ │ │ └── ViewController.swift │ │ ├── LICENSE │ │ ├── README.md │ │ ├── rustlib.podspec │ │ └── rustlib │ │ │ └── Assets │ │ │ └── .gitkeep │ └── ios_bridge │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ └── src │ │ └── lib.rs │ ├── cp.sh │ └── src │ ├── contract │ ├── mod.rs │ └── test_contract1.rs │ ├── imp │ ├── mod.rs │ └── test_contract1_imp.rs │ └── lib.rs ├── demo-jar ├── app │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── demo │ │ │ └── Main.java │ │ └── test │ │ └── java │ │ └── demo │ │ └── RustLibTest.java ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── rustlib │ ├── Cargo.lock │ ├── Cargo.toml │ ├── Rsbind.toml │ └── src │ │ ├── api │ │ ├── mod.rs │ │ └── test_contract1.rs │ │ ├── implementation │ │ ├── mod.rs │ │ └── test_contract1_imp.rs │ │ └── lib.rs └── settings.gradle ├── demo-mac ├── Example │ ├── MacDemo.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ ├── MacDemo.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ ├── MacDemo │ │ ├── Assets.xcassets │ │ │ ├── AccentColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── Info.plist │ │ ├── MacDemo.entitlements │ │ ├── MacDemoApp.swift │ │ └── Preview Content │ │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ ├── MacDemoTests │ │ ├── Info.plist │ │ └── MacDemoTests.swift │ ├── MacDemoUITests │ │ ├── Info.plist │ │ └── MacDemoUITests.swift │ ├── Podfile │ ├── Podfile.lock │ └── Pods │ │ ├── Local Podspecs │ │ └── rustlib.podspec.json │ │ ├── Manifest.lock │ │ ├── Pods.xcodeproj │ │ └── project.pbxproj │ │ └── Target Support Files │ │ ├── Pods-MacDemo │ │ ├── Pods-MacDemo-Info.plist │ │ ├── Pods-MacDemo-acknowledgements.markdown │ │ ├── Pods-MacDemo-acknowledgements.plist │ │ ├── Pods-MacDemo-dummy.m │ │ ├── Pods-MacDemo-frameworks-Debug-input-files.xcfilelist │ │ ├── Pods-MacDemo-frameworks-Debug-output-files.xcfilelist │ │ ├── Pods-MacDemo-frameworks-Release-input-files.xcfilelist │ │ ├── Pods-MacDemo-frameworks-Release-output-files.xcfilelist │ │ ├── Pods-MacDemo-frameworks.sh │ │ ├── Pods-MacDemo-umbrella.h │ │ ├── Pods-MacDemo.debug.xcconfig │ │ ├── Pods-MacDemo.modulemap │ │ └── Pods-MacDemo.release.xcconfig │ │ ├── Pods-MacDemoTests │ │ ├── Pods-MacDemoTests-Info.plist │ │ ├── Pods-MacDemoTests-acknowledgements.markdown │ │ ├── Pods-MacDemoTests-acknowledgements.plist │ │ ├── Pods-MacDemoTests-dummy.m │ │ ├── Pods-MacDemoTests-frameworks-Debug-input-files.xcfilelist │ │ ├── Pods-MacDemoTests-frameworks-Debug-output-files.xcfilelist │ │ ├── Pods-MacDemoTests-frameworks-Release-input-files.xcfilelist │ │ ├── Pods-MacDemoTests-frameworks-Release-output-files.xcfilelist │ │ ├── Pods-MacDemoTests-frameworks.sh │ │ ├── Pods-MacDemoTests-umbrella.h │ │ ├── Pods-MacDemoTests.debug.xcconfig │ │ ├── Pods-MacDemoTests.modulemap │ │ └── Pods-MacDemoTests.release.xcconfig │ │ └── rustlib │ │ ├── rustlib-Info.plist │ │ ├── rustlib-dummy.m │ │ ├── rustlib-prefix.pch │ │ ├── rustlib-umbrella.h │ │ ├── rustlib.debug.xcconfig │ │ ├── rustlib.modulemap │ │ └── rustlib.release.xcconfig ├── Example2 │ ├── Example2.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ ├── Example2.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ ├── Example2 │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ │ ├── AccentColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ │ └── Main.storyboard │ │ ├── Example2.entitlements │ │ ├── Info.plist │ │ └── ViewController.swift │ ├── Example2Tests │ │ ├── Example2Tests.swift │ │ └── Info.plist │ ├── Example2UITests │ │ ├── Example2UITests.swift │ │ └── Info.plist │ ├── Podfile │ ├── Podfile.lock │ └── Pods │ │ ├── Local Podspecs │ │ └── rustlib.podspec.json │ │ ├── Manifest.lock │ │ ├── Pods.xcodeproj │ │ └── project.pbxproj │ │ └── Target Support Files │ │ ├── Pods-Example2 │ │ ├── Pods-Example2-Info.plist │ │ ├── Pods-Example2-acknowledgements.markdown │ │ ├── Pods-Example2-acknowledgements.plist │ │ ├── Pods-Example2-dummy.m │ │ ├── Pods-Example2-frameworks-Debug-input-files.xcfilelist │ │ ├── Pods-Example2-frameworks-Debug-output-files.xcfilelist │ │ ├── Pods-Example2-frameworks-Release-input-files.xcfilelist │ │ ├── Pods-Example2-frameworks-Release-output-files.xcfilelist │ │ ├── Pods-Example2-frameworks.sh │ │ ├── Pods-Example2-umbrella.h │ │ ├── Pods-Example2.debug.xcconfig │ │ ├── Pods-Example2.modulemap │ │ └── Pods-Example2.release.xcconfig │ │ ├── Pods-Example2Tests │ │ ├── Pods-Example2Tests-Info.plist │ │ ├── Pods-Example2Tests-acknowledgements.markdown │ │ ├── Pods-Example2Tests-acknowledgements.plist │ │ ├── Pods-Example2Tests-dummy.m │ │ ├── Pods-Example2Tests-frameworks-Debug-input-files.xcfilelist │ │ ├── Pods-Example2Tests-frameworks-Debug-output-files.xcfilelist │ │ ├── Pods-Example2Tests-frameworks-Release-input-files.xcfilelist │ │ ├── Pods-Example2Tests-frameworks-Release-output-files.xcfilelist │ │ ├── Pods-Example2Tests-frameworks.sh │ │ ├── Pods-Example2Tests-umbrella.h │ │ ├── Pods-Example2Tests.debug.xcconfig │ │ ├── Pods-Example2Tests.modulemap │ │ └── Pods-Example2Tests.release.xcconfig │ │ └── rustlib │ │ ├── rustlib-Info.plist │ │ ├── rustlib-dummy.m │ │ ├── rustlib-prefix.pch │ │ ├── rustlib-umbrella.h │ │ ├── rustlib.debug.xcconfig │ │ ├── rustlib.modulemap │ │ └── rustlib.release.xcconfig ├── LICENSE ├── Podfile ├── README.md ├── _Pods.xcodeproj └── rustlib │ ├── Cargo.lock │ ├── Cargo.toml │ ├── Rsbind.toml │ └── src │ ├── contract │ ├── contract1.rs │ ├── contract2.rs │ └── mod.rs │ ├── imp │ ├── contract1_imp.rs │ ├── contract2_imp.rs │ └── mod.rs │ └── lib.rs ├── docs ├── env.md ├── first_structure.jpg ├── rsbind_structure.png ├── second_structure.jpg └── structures.md └── toolchain ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── build-script ├── Cargo.toml └── src │ ├── dirzip.rs │ ├── lib.rs │ └── main.rs ├── ndk-tool ├── Cargo.toml ├── README.md └── src │ ├── error.rs │ └── lib.rs └── rsbind ├── Cargo.lock ├── Cargo.toml ├── src ├── android │ ├── config.rs │ ├── mod.rs │ ├── process.rs │ └── res │ │ ├── template_android.zip │ │ └── template_bridge_android.zip ├── ast │ ├── contract │ │ ├── desc.rs │ │ ├── mod.rs │ │ ├── parser.rs │ │ └── test.rs │ ├── imp │ │ ├── desc.rs │ │ ├── mod.rs │ │ └── parser.rs │ ├── mod.rs │ └── types.rs ├── base │ ├── artifact.rs │ ├── bridge.rs │ ├── lang.rs │ ├── mod.rs │ └── process.rs ├── bridge │ ├── mod.rs │ └── prj.rs ├── cargo.rs ├── common.rs ├── config.rs ├── errors.rs ├── ios │ ├── config.rs │ ├── mod.rs │ ├── process.rs │ └── res │ │ ├── template_bridge_ios.zip │ │ └── template_ios.zip ├── jar │ ├── arch.rs │ ├── config.rs │ ├── mod.rs │ ├── process.rs │ └── res │ │ ├── template_bridge_jar.zip │ │ └── template_jar.zip ├── java │ ├── artifact.rs │ ├── bridge.rs │ ├── callback.rs │ ├── converter.rs │ ├── interface.rs │ ├── internal.rs │ ├── manager.rs │ ├── mod.rs │ ├── struct_.rs │ ├── ty │ │ ├── basic.rs │ │ ├── callback.rs │ │ ├── mod.rs │ │ ├── str.rs │ │ ├── struct_.rs │ │ ├── vec_byte.rs │ │ ├── vec_default.rs │ │ ├── vec_struct.rs │ │ └── void.rs │ ├── types.rs │ └── wrapper.rs ├── lib.rs ├── mac │ ├── config.rs │ ├── mod.rs │ ├── process.rs │ └── res │ │ ├── template_bridge_mac.zip │ │ └── template_mac.zip ├── main.rs ├── swift │ ├── artifact.rs │ ├── bridge.rs │ ├── callback.rs │ ├── converter.rs │ ├── internal.rs │ ├── manager.rs │ ├── mod.rs │ ├── protocol.rs │ ├── struct_.rs │ ├── ty │ │ ├── basic.rs │ │ ├── callback.rs │ │ ├── mod.rs │ │ ├── str.rs │ │ ├── struct_.rs │ │ ├── vec_base.rs │ │ ├── vec_default.rs │ │ ├── vec_struct.rs │ │ └── void.rs │ ├── types.rs │ └── wrapper.rs ├── test.rs └── unzip.rs └── template ├── template-android ├── .gitignore ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── rustlib │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── afoxer │ │ └── rsbind │ │ └── Common.java └── settings.gradle ├── template-bridge-android └── Cargo.toml ├── template-bridge-ios └── Cargo.toml ├── template-bridge-jar └── Cargo.toml ├── template-bridge-mac └── Cargo.toml ├── template-ios ├── .gitignore ├── .travis.yml ├── Example │ ├── Podfile │ ├── Podfile.lock │ ├── Pods │ │ ├── Local Podspecs │ │ │ └── rustlib.podspec.json │ │ ├── Manifest.lock │ │ ├── Pods.xcodeproj │ │ │ └── project.pbxproj │ │ └── Target Support Files │ │ │ ├── Pods-rustlib_Example │ │ │ ├── Pods-rustlib_Example-Info.plist │ │ │ ├── Pods-rustlib_Example-acknowledgements.markdown │ │ │ ├── Pods-rustlib_Example-acknowledgements.plist │ │ │ ├── Pods-rustlib_Example-dummy.m │ │ │ ├── Pods-rustlib_Example-frameworks.sh │ │ │ ├── Pods-rustlib_Example-umbrella.h │ │ │ ├── Pods-rustlib_Example.debug.xcconfig │ │ │ ├── Pods-rustlib_Example.modulemap │ │ │ └── Pods-rustlib_Example.release.xcconfig │ │ │ ├── Pods-rustlib_Tests │ │ │ ├── Pods-rustlib_Tests-Info.plist │ │ │ ├── Pods-rustlib_Tests-acknowledgements.markdown │ │ │ ├── Pods-rustlib_Tests-acknowledgements.plist │ │ │ ├── Pods-rustlib_Tests-dummy.m │ │ │ ├── Pods-rustlib_Tests-umbrella.h │ │ │ ├── Pods-rustlib_Tests.debug.xcconfig │ │ │ ├── Pods-rustlib_Tests.modulemap │ │ │ └── Pods-rustlib_Tests.release.xcconfig │ │ │ └── rustlib │ │ │ ├── rustlib-Info.plist │ │ │ ├── rustlib-dummy.m │ │ │ ├── rustlib-prefix.pch │ │ │ ├── rustlib-umbrella.h │ │ │ ├── rustlib.debug.xcconfig │ │ │ ├── rustlib.modulemap │ │ │ └── rustlib.release.xcconfig │ ├── Tests │ │ ├── Info.plist │ │ └── Tests.swift │ ├── rustlib.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── rustlib-Example.xcscheme │ ├── rustlib.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ └── rustlib │ │ ├── AppDelegate.swift │ │ ├── Base.lproj │ │ ├── LaunchScreen.xib │ │ └── Main.storyboard │ │ ├── Images.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── ViewController.swift ├── LICENSE ├── README.md ├── _Pods.xcodeproj ├── rustlib.podspec └── rustlib │ ├── Assets │ └── .gitkeep │ └── Classes │ ├── .gitkeep │ └── SynchronizedClosure.swift ├── template-jar ├── app │ └── build.gradle ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── rustlib │ ├── bin │ │ └── main │ │ │ └── com │ │ │ └── afoxer │ │ │ └── rsbind │ │ │ └── Common.class │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── afoxer │ │ └── rsbind │ │ └── Common.java └── settings.gradle └── template-mac ├── .gitignore ├── .travis.yml ├── Example ├── Podfile ├── Podfile.lock ├── Pods │ ├── Local Podspecs │ │ └── rustlib.podspec.json │ ├── Manifest.lock │ ├── Pods.xcodeproj │ │ └── project.pbxproj │ └── Target Support Files │ │ ├── Pods-rustlib_Example │ │ ├── Pods-rustlib_Example-Info.plist │ │ ├── Pods-rustlib_Example-acknowledgements.markdown │ │ ├── Pods-rustlib_Example-acknowledgements.plist │ │ ├── Pods-rustlib_Example-dummy.m │ │ ├── Pods-rustlib_Example-frameworks.sh │ │ ├── Pods-rustlib_Example-umbrella.h │ │ ├── Pods-rustlib_Example.debug.xcconfig │ │ ├── Pods-rustlib_Example.modulemap │ │ └── Pods-rustlib_Example.release.xcconfig │ │ ├── Pods-rustlib_Tests │ │ ├── Pods-rustlib_Tests-Info.plist │ │ ├── Pods-rustlib_Tests-acknowledgements.markdown │ │ ├── Pods-rustlib_Tests-acknowledgements.plist │ │ ├── Pods-rustlib_Tests-dummy.m │ │ ├── Pods-rustlib_Tests-umbrella.h │ │ ├── Pods-rustlib_Tests.debug.xcconfig │ │ ├── Pods-rustlib_Tests.modulemap │ │ └── Pods-rustlib_Tests.release.xcconfig │ │ └── rustlib │ │ ├── rustlib-Info.plist │ │ ├── rustlib-dummy.m │ │ ├── rustlib-prefix.pch │ │ ├── rustlib-umbrella.h │ │ ├── rustlib.debug.xcconfig │ │ ├── rustlib.modulemap │ │ └── rustlib.release.xcconfig ├── Tests │ ├── Info.plist │ └── Tests.swift ├── rustlib.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcshareddata │ │ └── xcschemes │ │ └── rustlib-Example.xcscheme ├── rustlib.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── rustlib │ ├── AppDelegate.swift │ ├── Base.lproj │ ├── LaunchScreen.xib │ └── Main.storyboard │ ├── Images.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Info.plist │ └── ViewController.swift ├── LICENSE ├── README.md ├── _Pods.xcodeproj └── project.pbxproj ├── rustlib.podspec └── rustlib ├── Assets └── .gitkeep └── Classes ├── .gitkeep └── SynchronizedClosure.swift /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .gradle 3 | build 4 | _gen 5 | .out 6 | target 7 | .vscode 8 | .test 9 | .build 10 | .project 11 | .settings 12 | .classpath 13 | .iml 14 | *.xcuserdatad 15 | local.properties 16 | .DS_Store 17 | -------------------------------------------------------------------------------- /demo-android/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /demo-android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /demo-android/app/release/output-metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "artifactType": { 4 | "type": "APK", 5 | "kind": "Directory" 6 | }, 7 | "applicationId": "com.afoxer.xx.bear.rustlib", 8 | "variantName": "release", 9 | "elements": [ 10 | { 11 | "type": "SINGLE", 12 | "filters": [], 13 | "attributes": [], 14 | "versionCode": 1, 15 | "versionName": "1.0", 16 | "outputFile": "app-release.apk" 17 | } 18 | ], 19 | "elementType": "File" 20 | } -------------------------------------------------------------------------------- /demo-android/app/src/androidTest/java/com/afoxer/rustlib/RustLibTest.java: -------------------------------------------------------------------------------- 1 | package com.afoxer.rustlib; 2 | 3 | import android.util.Log; 4 | 5 | import androidx.test.filters.LargeTest; 6 | import androidx.test.runner.AndroidJUnit4; 7 | 8 | import com.afoxer.xxx.ffi.*; 9 | 10 | import org.junit.Assert; 11 | import org.junit.Before; 12 | import org.junit.Test; 13 | import org.junit.runner.RunWith; 14 | 15 | @RunWith(AndroidJUnit4.class) 16 | @LargeTest 17 | public class RustLibTest { 18 | 19 | } 20 | -------------------------------------------------------------------------------- /demo-android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /demo-android/app/src/main/java/com/afoxer/rustlib/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.afoxer.rustlib; 2 | 3 | import android.app.Activity; 4 | import android.os.Bundle; 5 | import android.util.Log; 6 | 7 | import com.afoxer.xxx.ffi.*; 8 | 9 | 10 | public class MainActivity extends Activity { 11 | private static final String TAG = "MainActivity"; 12 | 13 | @Override 14 | protected void onCreate(Bundle savedInstanceState) { 15 | super.onCreate(savedInstanceState); 16 | setContentView(R.layout.activity_main); 17 | LoginService loginService = RustLib.newServices().getLoginService(); 18 | Future future = loginService.login("sidney.wang", "88888888"); 19 | boolean result = future.get(); 20 | Log.i(TAG, "login result is " + result); 21 | 22 | UploadService uploadService = RustLib.newServices().getUploadService(); 23 | uploadService.upload("to/your/path", new UploadProgress() { 24 | @Override 25 | public void onProgress(long id, long process, long total) { 26 | Log.i(TAG, "upload process is " + process); 27 | } 28 | }); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /demo-android/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | -------------------------------------------------------------------------------- /demo-android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /demo-android/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | 5 | repositories { 6 | google() 7 | jcenter() 8 | } 9 | dependencies { 10 | classpath 'com.android.tools.build:gradle:7.1.1' 11 | 12 | 13 | // NOTE: Do not place your application dependencies here; they belong 14 | // in the individual module build.gradle files 15 | } 16 | } 17 | 18 | allprojects { 19 | repositories { 20 | google() 21 | jcenter() 22 | } 23 | } 24 | 25 | task clean(type: Delete) { 26 | delete rootProject.buildDir 27 | } 28 | -------------------------------------------------------------------------------- /demo-android/demo-android.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /demo-android/generate.sh: -------------------------------------------------------------------------------- 1 | cargo run --manifest-path ../toolchain/rsbind/Cargo.toml rustlib android all -------------------------------------------------------------------------------- /demo-android/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | android.useAndroidX=true 15 | android.enableJetifier=true -------------------------------------------------------------------------------- /demo-android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/demo-android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /demo-android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Jul 10 14:05:30 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip -------------------------------------------------------------------------------- /demo-android/local.properties: -------------------------------------------------------------------------------- 1 | ## This file must *NOT* be checked into Version Control Systems, 2 | # as it contains information specific to your local configuration. 3 | # 4 | # Location of the SDK. This is only used by Gradle. 5 | # For customization when using a Version Control System, please read the 6 | # header note. 7 | #Mon Mar 07 21:58:50 CST 2022 8 | sdk.dir=/Users/sidney/Library/Android/sdk 9 | -------------------------------------------------------------------------------- /demo-android/rustlib/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "android_rustlib" 3 | version = "0.1.0" 4 | authors = ["sidney.wang "] 5 | 6 | [features] 7 | drive_ios = [] 8 | drive = [] 9 | 10 | [dependencies] 11 | android_logger = "0.11.1" 12 | log = "0.4.14" -------------------------------------------------------------------------------- /demo-android/rustlib/Rsbind.toml: -------------------------------------------------------------------------------- 1 | [android] 2 | rustc_param = "" 3 | arch = ["armv7-linux-androideabi", "aarch64-linux-android", "i686-linux-android", "x86_64-linux-android"] 4 | release = true 5 | namespace = "com.afoxer.xxx.ffi" 6 | so_name = "demo" 7 | #ext_lib = [] 8 | #features_def = ["xxxx=[]"] 9 | -------------------------------------------------------------------------------- /demo-android/rustlib/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod rsbind; 2 | 3 | extern crate android_logger; 4 | #[macro_use] extern crate log; 5 | -------------------------------------------------------------------------------- /demo-android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | include ':rustlib' 3 | project(":rustlib").projectDir = file("rustlib/_gen/android_artifact/rustlib") -------------------------------------------------------------------------------- /demo-android/template-android.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /demo-ios/.gitignore: -------------------------------------------------------------------------------- 1 | # macOS 2 | .DS_Store 3 | 4 | # Xcode 5 | build/ 6 | *.pbxuser 7 | !default.pbxuser 8 | *.mode1v3 9 | !default.mode1v3 10 | *.mode2v3 11 | !default.mode2v3 12 | *.perspectivev3 13 | !default.perspectivev3 14 | xcuserdata/ 15 | *.xccheckout 16 | profile 17 | *.moved-aside 18 | DerivedData 19 | *.hmap 20 | *.ipa 21 | 22 | # Bundler 23 | .bundle 24 | 25 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 26 | # Carthage/Checkouts 27 | 28 | Carthage/Build 29 | 30 | # We recommend against adding the Pods directory to your .gitignore. However 31 | # you should judge for yourself, the pros and cons are mentioned at: 32 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control 33 | # 34 | # Note: if you ignore the Pods directory, make sure to uncomment 35 | # `pod install` in .travis.yml 36 | # 37 | # Pods/ 38 | -------------------------------------------------------------------------------- /demo-ios/.travis.yml: -------------------------------------------------------------------------------- 1 | # references: 2 | # * https://www.objc.io/issues/6-build-tools/travis-ci/ 3 | # * https://github.com/supermarin/xcpretty#usage 4 | 5 | osx_image: xcode7.3 6 | language: objective-c 7 | # cache: cocoapods 8 | # podfile: Example/Podfile 9 | # before_install: 10 | # - gem install cocoapods # Since Travis is not always on latest version 11 | # - pod install --project-directory=Example 12 | script: 13 | - set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/demo-ios.xcworkspace -scheme demo-ios-Example -sdk iphonesimulator9.3 ONLY_ACTIVE_ARCH=NO | xcpretty 14 | - pod lib lint 15 | -------------------------------------------------------------------------------- /demo-ios/Example/Podfile: -------------------------------------------------------------------------------- 1 | use_frameworks! 2 | 3 | platform :ios, '9.0' 4 | 5 | target 'demo-ios_Example' do 6 | pod 'rustlib', :path => '../rustlib/_gen/ios_artifact' 7 | end 8 | 9 | target 'demo-ios_ExampleTests' do 10 | pod 'rustlib', :path => '../rustlib/_gen/ios_artifact' 11 | end 12 | -------------------------------------------------------------------------------- /demo-ios/Example/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - rustlib (0.1.0) 3 | 4 | DEPENDENCIES: 5 | - rustlib (from `../rustlib/_gen/ios_artifact`) 6 | 7 | EXTERNAL SOURCES: 8 | rustlib: 9 | :path: "../rustlib/_gen/ios_artifact" 10 | 11 | SPEC CHECKSUMS: 12 | rustlib: 8c1762ea2f8729293eea07777e5fa89ffe5c94e3 13 | 14 | PODFILE CHECKSUM: 47cda49fbfe4e35f8bfb06df382bef9e14f07d69 15 | 16 | COCOAPODS: 1.11.2 17 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Local Podspecs/demo-ios.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "demo-ios", 3 | "version": "0.1.0", 4 | "summary": "A short description of demo-ios.", 5 | "description": "TODO: Add long description of the pod here.", 6 | "homepage": "https://github.com/sidneywang/demo-ios", 7 | "license": { 8 | "type": "MIT", 9 | "file": "LICENSE" 10 | }, 11 | "authors": { 12 | "sidneywang": "sidney.wang@foxmail.com" 13 | }, 14 | "source": { 15 | "git": "https://github.com/sidneywang/demo-ios.git", 16 | "tag": "0.1.0" 17 | }, 18 | "platforms": { 19 | "ios": "9.0" 20 | }, 21 | "source_files": [ 22 | "demo-ios/Classes/**/*", 23 | "rustlib/_gen/ios_artifact/rustlib/*.{swift,m}" 24 | ], 25 | "subspecs": [ 26 | { 27 | "name": "rustlib", 28 | "vendored_libraries": "rustlib/_gen/ios_artifact/rustlib/*.a", 29 | "source_files": "rustlib/_gen/ios_artifact/rustlib/*.h", 30 | "public_header_files": "rustlib/_gen/ios_artifact/rustlib/*.h", 31 | "xcconfig": { 32 | "HEADER_SEARCH_PATHS": "\"rustlib/_gen/ios_artifact/rustlib/\"" 33 | } 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Local Podspecs/rustlib.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rustlib", 3 | "version": "0.1.0", 4 | "summary": "A short description of rustlib.", 5 | "description": "TODO: Add long description of the pod here.", 6 | "homepage": "https://github.com/sidney.wang/rustlib", 7 | "license": { 8 | "type": "MIT", 9 | "file": "LICENSE" 10 | }, 11 | "authors": { 12 | "sidney.wang": "sidney.wang@foxmail.com" 13 | }, 14 | "source": { 15 | "git": "https://github.com/sidney.wang/rustlib.git", 16 | "tag": "0.1.0" 17 | }, 18 | "platforms": { 19 | "ios": "9.0" 20 | }, 21 | "source_files": "rustlib/Classes/*.{h,swift}", 22 | "vendored_libraries": "rustlib/Libraries/*.a", 23 | "public_header_files": "rustlib/Classes/*.h", 24 | "xcconfig": { 25 | "HEADER_SEARCH_PATHS": "\"rustlib/Classes/*.h\"" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - rustlib (0.1.0) 3 | 4 | DEPENDENCIES: 5 | - rustlib (from `../rustlib/_gen/ios_artifact`) 6 | 7 | EXTERNAL SOURCES: 8 | rustlib: 9 | :path: "../rustlib/_gen/ios_artifact" 10 | 11 | SPEC CHECKSUMS: 12 | rustlib: 8c1762ea2f8729293eea07777e5fa89ffe5c94e3 13 | 14 | PODFILE CHECKSUM: 47cda49fbfe4e35f8bfb06df382bef9e14f07d69 15 | 16 | COCOAPODS: 1.11.2 17 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/Pods-demo-ios_Example/Pods-demo-ios_Example-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/Pods-demo-ios_Example/Pods-demo-ios_Example-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_demo_ios_Example : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_demo_ios_Example 5 | @end 6 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/Pods-demo-ios_Example/Pods-demo-ios_Example-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_demo_ios_ExampleVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_demo_ios_ExampleVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/Pods-demo-ios_Example/Pods-demo-ios_Example.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" "rustlib/Classes/*.h" 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' 7 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_ROOT}/../../rustlib/_gen/ios_artifact/rustlib/Libraries" /usr/lib/swift 8 | OTHER_LDFLAGS = $(inherited) -ObjC -framework "rustlib" 9 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 10 | PODS_BUILD_DIR = ${BUILD_DIR} 11 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 12 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 13 | PODS_ROOT = ${SRCROOT}/Pods 14 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 16 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/Pods-demo-ios_Example/Pods-demo-ios_Example.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_demo_ios_Example { 2 | umbrella header "Pods-demo-ios_Example-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/Pods-demo-ios_Example/Pods-demo-ios_Example.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" "rustlib/Classes/*.h" 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' 7 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_ROOT}/../../rustlib/_gen/ios_artifact/rustlib/Libraries" /usr/lib/swift 8 | OTHER_LDFLAGS = $(inherited) -ObjC -framework "rustlib" 9 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 10 | PODS_BUILD_DIR = ${BUILD_DIR} 11 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 12 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 13 | PODS_ROOT = ${SRCROOT}/Pods 14 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 16 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/Pods-demo-ios_ExampleTests/Pods-demo-ios_ExampleTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/Pods-demo-ios_ExampleTests/Pods-demo-ios_ExampleTests-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_demo_ios_ExampleTests : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_demo_ios_ExampleTests 5 | @end 6 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/Pods-demo-ios_ExampleTests/Pods-demo-ios_ExampleTests-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_demo_ios_ExampleTestsVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_demo_ios_ExampleTestsVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/Pods-demo-ios_ExampleTests/Pods-demo-ios_ExampleTests.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_demo_ios_ExampleTests { 2 | umbrella header "Pods-demo-ios_ExampleTests-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/rustlib/rustlib-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/rustlib/rustlib-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_rustlib : NSObject 3 | @end 4 | @implementation PodsDummy_rustlib 5 | @end 6 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/rustlib/rustlib-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/rustlib/rustlib-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #import "ffi.h" 14 | 15 | FOUNDATION_EXPORT double rustlibVersionNumber; 16 | FOUNDATION_EXPORT const unsigned char rustlibVersionString[]; 17 | 18 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/rustlib/rustlib.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/rustlib 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "rustlib/Classes/*.h" 5 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_ROOT}/../../rustlib/_gen/ios_artifact/rustlib/Libraries" /usr/lib/swift 6 | OTHER_LDFLAGS = $(inherited) -l"Ffi" 7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_ROOT = ${SRCROOT} 11 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../rustlib/_gen/ios_artifact 12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 13 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 14 | SKIP_INSTALL = YES 15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 16 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/rustlib/rustlib.modulemap: -------------------------------------------------------------------------------- 1 | framework module rustlib { 2 | umbrella header "rustlib-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /demo-ios/Example/Pods/Target Support Files/rustlib/rustlib.release.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/rustlib 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "rustlib/Classes/*.h" 5 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_ROOT}/../../rustlib/_gen/ios_artifact/rustlib/Libraries" /usr/lib/swift 6 | OTHER_LDFLAGS = $(inherited) -l"Ffi" 7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_ROOT = ${SRCROOT} 11 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../rustlib/_gen/ios_artifact 12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 13 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 14 | SKIP_INSTALL = YES 15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 16 | -------------------------------------------------------------------------------- /demo-ios/Example/demo-ios.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo-ios/Example/demo-ios.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /demo-ios/Example/demo-ios.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /demo-ios/Example/demo-ios/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ios-marketing", 45 | "size" : "1024x1024", 46 | "scale" : "1x" 47 | } 48 | ], 49 | "info" : { 50 | "version" : 1, 51 | "author" : "xcode" 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /demo-ios/Example/demo-ios/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // demo-swift 4 | // 5 | // Created by sidney.wang on 2018/6/29. 6 | // Copyright © 2018年 sidney.wang. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import rustlib 11 | 12 | class ViewController: UIViewController { 13 | 14 | override func viewDidLoad() { 15 | super.viewDidLoad() 16 | let loginService = RustLib.newServices().getLoginService(); 17 | let future = loginService.login(user_name: "sidney.wang", pwd: "88888888") 18 | let result = future.get(); 19 | print("login result = \(result)") 20 | 21 | class Listener : UploadProgress { 22 | func onProgress(id: Int64, process: Int64, total: Int64) { 23 | print("Progress is \(process)/\(total)") 24 | } 25 | } 26 | let uploadService = RustLib.newServices().getUploadService(); 27 | uploadService.upload(path: "to/your/path", listener: Listener()) 28 | } 29 | 30 | override func didReceiveMemoryWarning() { 31 | super.didReceiveMemoryWarning() 32 | // Dispose of any resources that can be recreated. 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /demo-ios/Example/demo-ios_ExampleTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /demo-ios/Example/demo-ios_ExampleTests/demo_ios_ExampleTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // MacDemoTests.swift 3 | // MacDemoTests 4 | // 5 | // Created by sidney on 2022/3/8. 6 | // 7 | 8 | 9 | import XCTest 10 | import rustlib 11 | 12 | class demo_ios_ExampleTests: XCTestCase { 13 | } 14 | -------------------------------------------------------------------------------- /demo-ios/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2022 sidneywang 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /demo-ios/README.md: -------------------------------------------------------------------------------- 1 | # demo-ios 2 | 3 | [![CI Status](https://img.shields.io/travis/sidneywang/demo-ios.svg?style=flat)](https://travis-ci.org/sidneywang/demo-ios) 4 | [![Version](https://img.shields.io/cocoapods/v/demo-ios.svg?style=flat)](https://cocoapods.org/pods/demo-ios) 5 | [![License](https://img.shields.io/cocoapods/l/demo-ios.svg?style=flat)](https://cocoapods.org/pods/demo-ios) 6 | [![Platform](https://img.shields.io/cocoapods/p/demo-ios.svg?style=flat)](https://cocoapods.org/pods/demo-ios) 7 | 8 | ## Example 9 | 10 | To run the example project, clone the repo, and run `pod install` from the Example directory first. 11 | 12 | ## Requirements 13 | 14 | ## Installation 15 | 16 | demo-ios is available through [CocoaPods](https://cocoapods.org). To install 17 | it, simply add the following line to your Podfile: 18 | 19 | ```ruby 20 | pod 'demo-ios' 21 | ``` 22 | 23 | ## Author 24 | 25 | sidneywang, sidney.wang@foxmail.com 26 | 27 | ## License 28 | 29 | demo-ios is available under the MIT license. See the LICENSE file for more info. 30 | -------------------------------------------------------------------------------- /demo-ios/_Pods.xcodeproj: -------------------------------------------------------------------------------- 1 | Example/Pods/Pods.xcodeproj -------------------------------------------------------------------------------- /demo-ios/rustlib/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "cfg-if" 7 | version = "1.0.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 10 | 11 | [[package]] 12 | name = "ios_rustlisb" 13 | version = "0.1.0" 14 | dependencies = [ 15 | "log", 16 | ] 17 | 18 | [[package]] 19 | name = "log" 20 | version = "0.4.14" 21 | source = "registry+https://github.com/rust-lang/crates.io-index" 22 | checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" 23 | dependencies = [ 24 | "cfg-if", 25 | ] 26 | -------------------------------------------------------------------------------- /demo-ios/rustlib/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "ios_rustlisb" 3 | version = "0.1.0" 4 | authors = ["sidney.wang "] 5 | 6 | [features] 7 | drive_ios = [] 8 | drive = [] 9 | 10 | [dependencies] 11 | log = "0.4.14" 12 | #oslog = "0.2.0" -------------------------------------------------------------------------------- /demo-ios/rustlib/Rsbind.toml: -------------------------------------------------------------------------------- 1 | [ios] 2 | rustc_param = "" 3 | arch = ["aarch64-apple-ios", "x86_64-apple-ios"] 4 | release = true 5 | features_def = [] -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/bin/swift_gen: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/demo-ios/rustlib/_gen/bin/swift_gen -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/.gitignore: -------------------------------------------------------------------------------- 1 | # macOS 2 | .DS_Store 3 | 4 | # Xcode 5 | build/ 6 | *.pbxuser 7 | !default.pbxuser 8 | *.mode1v3 9 | !default.mode1v3 10 | *.mode2v3 11 | !default.mode2v3 12 | *.perspectivev3 13 | !default.perspectivev3 14 | xcuserdata/ 15 | *.xccheckout 16 | profile 17 | *.moved-aside 18 | DerivedData 19 | *.hmap 20 | *.ipa 21 | 22 | # Bundler 23 | .bundle 24 | 25 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 26 | # Carthage/Checkouts 27 | 28 | Carthage/Build 29 | 30 | # We recommend against adding the Pods directory to your .gitignore. However 31 | # you should judge for yourself, the pros and cons are mentioned at: 32 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control 33 | # 34 | # Note: if you ignore the Pods directory, make sure to uncomment 35 | # `pod install` in .travis.yml 36 | # 37 | # Pods/ 38 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/.travis.yml: -------------------------------------------------------------------------------- 1 | # references: 2 | # * https://www.objc.io/issues/6-build-tools/travis-ci/ 3 | # * https://github.com/supermarin/xcpretty#usage 4 | 5 | osx_image: xcode7.3 6 | language: objective-c 7 | # cache: cocoapods 8 | # podfile: Example/Podfile 9 | # before_install: 10 | # - gem install cocoapods # Since Travis is not always on latest version 11 | # - pod install --project-directory=Example 12 | script: 13 | - set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/rustlib.xcworkspace -scheme rustlib-Example -sdk iphonesimulator9.3 ONLY_ACTIVE_ARCH=NO | xcpretty 14 | - pod lib lint 15 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Podfile: -------------------------------------------------------------------------------- 1 | use_frameworks! 2 | 3 | platform :ios, '9.0' 4 | 5 | target 'rustlib_Example' do 6 | pod 'rustlib', :path => '../' 7 | 8 | target 'rustlib_Tests' do 9 | inherit! :search_paths 10 | 11 | 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - rustlib (0.1.0) 3 | 4 | DEPENDENCIES: 5 | - rustlib (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | rustlib: 9 | :path: "../" 10 | 11 | SPEC CHECKSUMS: 12 | rustlib: 6f467350a78f0e1237e5dd5059955fe875d82176 13 | 14 | PODFILE CHECKSUM: 6a1304f34447f1525731adf3b6ceb172017cf2de 15 | 16 | COCOAPODS: 1.11.2 17 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Local Podspecs/rustlib.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rustlib", 3 | "version": "0.1.0", 4 | "summary": "A short description of rustlib.", 5 | "description": "TODO: Add long description of the pod here.", 6 | "homepage": "https://github.com/sidney.wang/rustlib", 7 | "license": { 8 | "type": "MIT", 9 | "file": "LICENSE" 10 | }, 11 | "authors": { 12 | "sidney.wang": "sidney.wang@foxmail.com" 13 | }, 14 | "source": { 15 | "git": "https://github.com/sidney.wang/rustlib.git", 16 | "tag": "0.1.0" 17 | }, 18 | "platforms": { 19 | "ios": "9.0" 20 | }, 21 | "source_files": "rustlib/Classes/**/*" 22 | } 23 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - rustlib (0.1.0) 3 | 4 | DEPENDENCIES: 5 | - rustlib (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | rustlib: 9 | :path: "../" 10 | 11 | SPEC CHECKSUMS: 12 | rustlib: 6f467350a78f0e1237e5dd5059955fe875d82176 13 | 14 | PODFILE CHECKSUM: 6a1304f34447f1525731adf3b6ceb172017cf2de 15 | 16 | COCOAPODS: 1.11.2 17 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_rustlib_Example : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_rustlib_Example 5 | @end 6 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_rustlib_ExampleVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_rustlib_ExampleVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' 7 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift 8 | OTHER_LDFLAGS = $(inherited) -framework "rustlib" 9 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 10 | PODS_BUILD_DIR = ${BUILD_DIR} 11 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 12 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 13 | PODS_ROOT = ${SRCROOT}/Pods 14 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 16 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_rustlib_Example { 2 | umbrella header "Pods-rustlib_Example-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' 7 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift 8 | OTHER_LDFLAGS = $(inherited) -framework "rustlib" 9 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 10 | PODS_BUILD_DIR = ${BUILD_DIR} 11 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 12 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 13 | PODS_ROOT = ${SRCROOT}/Pods 14 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 16 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | Generated by CocoaPods - https://cocoapods.org 4 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Generated by CocoaPods - https://cocoapods.org 18 | Title 19 | 20 | Type 21 | PSGroupSpecifier 22 | 23 | 24 | StringsTable 25 | Acknowledgements 26 | Title 27 | Acknowledgements 28 | 29 | 30 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_rustlib_Tests : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_rustlib_Tests 5 | @end 6 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_rustlib_TestsVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_rustlib_TestsVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" 5 | OTHER_LDFLAGS = $(inherited) -framework "rustlib" 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 12 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_rustlib_Tests { 2 | umbrella header "Pods-rustlib_Tests-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests.release.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" 5 | OTHER_LDFLAGS = $(inherited) -framework "rustlib" 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 12 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/rustlib/rustlib-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/rustlib/rustlib-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_rustlib : NSObject 3 | @end 4 | @implementation PodsDummy_rustlib 5 | @end 6 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/rustlib/rustlib-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/rustlib/rustlib-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double rustlibVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char rustlibVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/rustlib/rustlib.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/rustlib 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift 5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT} 9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. 10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 12 | SKIP_INSTALL = YES 13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 14 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/rustlib/rustlib.modulemap: -------------------------------------------------------------------------------- 1 | framework module rustlib { 2 | umbrella header "rustlib-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Pods/Target Support Files/rustlib/rustlib.release.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/rustlib 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift 5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT} 9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. 10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 12 | SKIP_INSTALL = YES 13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 14 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/Tests/Tests.swift: -------------------------------------------------------------------------------- 1 | import XCTest 2 | import rustlib 3 | 4 | class Tests: XCTestCase { 5 | 6 | override func setUp() { 7 | super.setUp() 8 | // Put setup code here. This method is called before the invocation of each test method in the class. 9 | } 10 | 11 | override func tearDown() { 12 | // Put teardown code here. This method is called after the invocation of each test method in the class. 13 | super.tearDown() 14 | } 15 | 16 | func testExample() { 17 | // This is an example of a functional test case. 18 | XCTAssert(true, "Pass") 19 | } 20 | 21 | func testPerformanceExample() { 22 | // This is an example of a performance test case. 23 | self.measure() { 24 | // Put the code you want to measure the time of here. 25 | } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/rustlib.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/rustlib.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/rustlib.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/rustlib/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ios-marketing", 45 | "size" : "1024x1024", 46 | "scale" : "1x" 47 | } 48 | ], 49 | "info" : { 50 | "version" : 1, 51 | "author" : "xcode" 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/Example/rustlib/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // rustlib 4 | // 5 | // Created by sidney.wang on 02/18/2022. 6 | // Copyright (c) 2022 sidney.wang. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | // Do any additional setup after loading the view, typically from a nib. 16 | } 17 | 18 | override func didReceiveMemoryWarning() { 19 | super.didReceiveMemoryWarning() 20 | // Dispose of any resources that can be recreated. 21 | } 22 | 23 | } 24 | 25 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2022 sidney.wang 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/README.md: -------------------------------------------------------------------------------- 1 | # rustlib 2 | 3 | [![CI Status](https://img.shields.io/travis/sidney.wang/rustlib.svg?style=flat)](https://travis-ci.org/sidney.wang/rustlib) 4 | [![Version](https://img.shields.io/cocoapods/v/rustlib.svg?style=flat)](https://cocoapods.org/pods/rustlib) 5 | [![License](https://img.shields.io/cocoapods/l/rustlib.svg?style=flat)](https://cocoapods.org/pods/rustlib) 6 | [![Platform](https://img.shields.io/cocoapods/p/rustlib.svg?style=flat)](https://cocoapods.org/pods/rustlib) 7 | 8 | ## Example 9 | 10 | To run the example project, clone the repo, and run `pod install` from the Example directory first. 11 | 12 | ## Requirements 13 | 14 | ## Installation 15 | 16 | rustlib is available through [CocoaPods](https://cocoapods.org). To install 17 | it, simply add the following line to your Podfile: 18 | 19 | ```ruby 20 | pod 'rustlib' 21 | ``` 22 | 23 | ## Author 24 | 25 | sidney.wang, sidney.wang@foxmail.com 26 | 27 | ## License 28 | 29 | rustlib is available under the MIT license. See the LICENSE file for more info. 30 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_artifact/rustlib/Assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/demo-ios/rustlib/_gen/ios_artifact/rustlib/Assets/.gitkeep -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_bridge/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "ios_rustlisb_ios_bridge_prj" 3 | version = "0.1.0" 4 | authors = ["sidney.wang "] 5 | 6 | #[workspace] 7 | #members = [] 8 | 9 | [lib] 10 | crate-type = [ "lib", "staticlib" ] 11 | 12 | [dependencies] 13 | ios_rustlisb = { path = "../../"} 14 | serde_json = "1.0" 15 | serde_derive = "1.0" 16 | serde = "1.0" 17 | lazy_static = "1.4.0" 18 | 19 | [features] 20 | -------------------------------------------------------------------------------- /demo-ios/rustlib/_gen/ios_bridge/src/lib.rs: -------------------------------------------------------------------------------- 1 | #![allow(warnings)] 2 | extern crate ios_rustlisb; 3 | #[macro_use] 4 | extern crate serde_derive; 5 | extern crate serde; 6 | #[macro_use] 7 | extern crate lazy_static; 8 | pub mod common; 9 | pub mod swift_test_contract1; 10 | -------------------------------------------------------------------------------- /demo-ios/rustlib/cp.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | rm -rfv ../demo-iOS/demo-swift/demo-swift/rustlib.framework 4 | cp -rv ./target/iphone_simulator/rustlib.framework ../demo-iOS/demo-swift/demo-swift/rustlib.framework 5 | rm -rfv ../demo-android/rustlib/rustlib-release.aar 6 | cp -rv ./target/android/rustlib-release.aar ../demo-android/rustlib/ -------------------------------------------------------------------------------- /demo-ios/rustlib/src/contract/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod test_contract1; -------------------------------------------------------------------------------- /demo-ios/rustlib/src/contract/test_contract1.rs: -------------------------------------------------------------------------------- 1 | pub trait Services: Send + Sync { 2 | fn get_login_service() -> Box; 3 | fn get_upload_service() -> Box; 4 | } 5 | 6 | pub trait LoginService: Send + Sync { 7 | fn login(&self, user_name: String, pwd: String) -> Box; 8 | } 9 | 10 | pub trait Future: Send + Sync { 11 | fn get(&self) -> bool; 12 | } 13 | 14 | pub trait UploadService: Send + Sync { 15 | fn upload(&self, path: String, listener: Box) -> i64; 16 | } 17 | 18 | pub trait UploadProgress : Send + Sync { 19 | fn on_progress(&self, id: i64, process: i64, total: i64); 20 | } 21 | -------------------------------------------------------------------------------- /demo-ios/rustlib/src/imp/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod test_contract1_imp; 2 | -------------------------------------------------------------------------------- /demo-ios/rustlib/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod contract; 2 | pub mod imp; 3 | 4 | // extern crate oslog; 5 | #[macro_use] extern crate log; -------------------------------------------------------------------------------- /demo-jar/app/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'application' 3 | } 4 | 5 | repositories { 6 | mavenCentral() 7 | } 8 | 9 | dependencies { 10 | implementation project(":rustlib") 11 | testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' 12 | testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' 13 | } 14 | 15 | application { 16 | mainClass = 'demo.Main' 17 | } 18 | 19 | test { 20 | useJUnitPlatform() 21 | } -------------------------------------------------------------------------------- /demo-jar/app/src/main/java/demo/Main.java: -------------------------------------------------------------------------------- 1 | package demo; 2 | 3 | import com.afoxer.xxx.ffi.DemoTrait; 4 | import com.afoxer.xxx.ffi.RustLib; 5 | 6 | public class Main { 7 | private static DemoTrait demoTrait = RustLib.newDemoTrait(); 8 | public static void main(String[] args) { 9 | demoTrait.setup(); 10 | demoTrait.testU81((byte) 100, (byte) 101); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /demo-jar/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'java' 3 | } 4 | 5 | repositories { 6 | mavenCentral() 7 | } 8 | 9 | dependencies { 10 | testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' 11 | testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' 12 | } 13 | 14 | test { 15 | useJUnitPlatform() 16 | } -------------------------------------------------------------------------------- /demo-jar/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/demo-jar/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /demo-jar/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /demo-jar/rustlib/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "jar-rustlib" 3 | version = "0.1.0" 4 | authors = ["sidney.wang "] 5 | 6 | [features] 7 | drive_ios = [] 8 | drive = [] 9 | 10 | [dependencies] 11 | android_logger = "0.11.1" 12 | log = "0.4.14" -------------------------------------------------------------------------------- /demo-jar/rustlib/Rsbind.toml: -------------------------------------------------------------------------------- 1 | [jar] 2 | rustc_param = "" 3 | release = true 4 | namespace = "com.afoxer.xxx.ffi" 5 | so_name = "demo" 6 | #ext_lib = [] 7 | #features_def = ["xxxx=[]"] 8 | contract_name = "api" 9 | imp_name = "implementation" 10 | 11 | [common] 12 | -------------------------------------------------------------------------------- /demo-jar/rustlib/src/api/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod test_contract1; 2 | -------------------------------------------------------------------------------- /demo-jar/rustlib/src/implementation/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod test_contract1_imp; 2 | -------------------------------------------------------------------------------- /demo-jar/rustlib/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod api; 2 | pub mod implementation; 3 | 4 | extern crate android_logger; 5 | #[macro_use] 6 | extern crate log; 7 | -------------------------------------------------------------------------------- /demo-jar/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'demo' 2 | include ':app' 3 | include ':rustlib' 4 | project(":rustlib").projectDir = file("rustlib/_gen/jar_artifact/rustlib") -------------------------------------------------------------------------------- /demo-mac/Example/MacDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo-mac/Example/MacDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /demo-mac/Example/MacDemo.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /demo-mac/Example/MacDemo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /demo-mac/Example/MacDemo/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /demo-mac/Example/MacDemo/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "mac", 5 | "scale" : "1x", 6 | "size" : "16x16" 7 | }, 8 | { 9 | "idiom" : "mac", 10 | "scale" : "2x", 11 | "size" : "16x16" 12 | }, 13 | { 14 | "idiom" : "mac", 15 | "scale" : "1x", 16 | "size" : "32x32" 17 | }, 18 | { 19 | "idiom" : "mac", 20 | "scale" : "2x", 21 | "size" : "32x32" 22 | }, 23 | { 24 | "idiom" : "mac", 25 | "scale" : "1x", 26 | "size" : "128x128" 27 | }, 28 | { 29 | "idiom" : "mac", 30 | "scale" : "2x", 31 | "size" : "128x128" 32 | }, 33 | { 34 | "idiom" : "mac", 35 | "scale" : "1x", 36 | "size" : "256x256" 37 | }, 38 | { 39 | "idiom" : "mac", 40 | "scale" : "2x", 41 | "size" : "256x256" 42 | }, 43 | { 44 | "idiom" : "mac", 45 | "scale" : "1x", 46 | "size" : "512x512" 47 | }, 48 | { 49 | "idiom" : "mac", 50 | "scale" : "2x", 51 | "size" : "512x512" 52 | } 53 | ], 54 | "info" : { 55 | "author" : "xcode", 56 | "version" : 1 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /demo-mac/Example/MacDemo/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /demo-mac/Example/MacDemo/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // MacDemo 4 | // 5 | // Created by sidney on 2022/3/8. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ContentView: View { 11 | var body: some View { 12 | Text("Hello, world!") 13 | .padding() 14 | } 15 | } 16 | 17 | struct ContentView_Previews: PreviewProvider { 18 | static var previews: some View { 19 | ContentView() 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /demo-mac/Example/MacDemo/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSMinimumSystemVersion 22 | $(MACOSX_DEPLOYMENT_TARGET) 23 | 24 | 25 | -------------------------------------------------------------------------------- /demo-mac/Example/MacDemo/MacDemo.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.files.user-selected.read-only 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /demo-mac/Example/MacDemo/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /demo-mac/Example/MacDemoTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /demo-mac/Example/MacDemoUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /demo-mac/Example/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | platform :osx, "10.9" 5 | 6 | target 'MacDemo' do 7 | # Comment the next line if you don't want to use dynamic frameworks 8 | use_frameworks! 9 | inherit! :search_paths 10 | pod 'rustlib', :path => '../rustlib/_gen/mac_artifact' 11 | 12 | # Pods for MacDemo 13 | 14 | target 'MacDemoTests' do 15 | inherit! :search_paths 16 | pod 'rustlib', :path => '../rustlib/_gen/mac_artifact' 17 | end 18 | 19 | end 20 | 21 | # use_frameworks! 22 | 23 | # platform :osx 24 | 25 | # target 'demo-ios_Example' do 26 | # pod 'rustlib', :path => '../rustlib/_gen/mac_artifact' 27 | # end 28 | 29 | # target 'demo-ios_ExampleTests' do 30 | 31 | # end 32 | 33 | -------------------------------------------------------------------------------- /demo-mac/Example/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - rustlib (0.1.0) 3 | 4 | DEPENDENCIES: 5 | - rustlib (from `../rustlib/_gen/mac_artifact`) 6 | 7 | EXTERNAL SOURCES: 8 | rustlib: 9 | :path: "../rustlib/_gen/mac_artifact" 10 | 11 | SPEC CHECKSUMS: 12 | rustlib: be18a18f81a2a04b0e0bf652c3b08ada68b8e2f6 13 | 14 | PODFILE CHECKSUM: cc29c3e48dd8a2eecab9aa8d4022b3fec9980fbb 15 | 16 | COCOAPODS: 1.11.2 17 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Local Podspecs/rustlib.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rustlib", 3 | "version": "0.1.0", 4 | "summary": "A short description of rustlib.", 5 | "description": "TODO: Add long description of the pod here.", 6 | "homepage": "https://github.com/sidney.wang/rustlib", 7 | "license": { 8 | "type": "MIT", 9 | "file": "LICENSE" 10 | }, 11 | "authors": { 12 | "sidney.wang": "sidney.wang@foxmail.com" 13 | }, 14 | "source": { 15 | "git": "https://github.com/sidney.wang/rustlib.git", 16 | "tag": "0.1.0" 17 | }, 18 | "platforms": { 19 | "osx": "10.9" 20 | }, 21 | "source_files": "rustlib/Classes/*.{h,swift}", 22 | "vendored_libraries": "rustlib/Libraries/*.a", 23 | "public_header_files": "rustlib/Classes/*.h", 24 | "xcconfig": { 25 | "HEADER_SEARCH_PATHS": "\"rustlib/Classes/*.h\"" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - rustlib (0.1.0) 3 | 4 | DEPENDENCIES: 5 | - rustlib (from `../rustlib/_gen/mac_artifact`) 6 | 7 | EXTERNAL SOURCES: 8 | rustlib: 9 | :path: "../rustlib/_gen/mac_artifact" 10 | 11 | SPEC CHECKSUMS: 12 | rustlib: be18a18f81a2a04b0e0bf652c3b08ada68b8e2f6 13 | 14 | PODFILE CHECKSUM: cc29c3e48dd8a2eecab9aa8d4022b3fec9980fbb 15 | 16 | COCOAPODS: 1.11.2 17 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemo/Pods-MacDemo-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemo/Pods-MacDemo-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_MacDemo : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_MacDemo 5 | @end 6 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemo/Pods-MacDemo-frameworks-Debug-input-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${PODS_ROOT}/Target Support Files/Pods-MacDemo/Pods-MacDemo-frameworks.sh 2 | ${BUILT_PRODUCTS_DIR}/rustlib/rustlib.framework -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemo/Pods-MacDemo-frameworks-Debug-output-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/rustlib.framework -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemo/Pods-MacDemo-frameworks-Release-input-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${PODS_ROOT}/Target Support Files/Pods-MacDemo/Pods-MacDemo-frameworks.sh 2 | ${BUILT_PRODUCTS_DIR}/rustlib/rustlib.framework -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemo/Pods-MacDemo-frameworks-Release-output-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/rustlib.framework -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemo/Pods-MacDemo-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_MacDemoVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_MacDemoVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemo/Pods-MacDemo.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" "rustlib/Classes/*.h" 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/../Frameworks' '@loader_path/Frameworks' "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 7 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_ROOT}/../../rustlib/_gen/mac_artifact/rustlib/Libraries" /usr/lib/swift 8 | OTHER_LDFLAGS = $(inherited) -ObjC -framework "rustlib" 9 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 10 | PODS_BUILD_DIR = ${BUILD_DIR} 11 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 12 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 13 | PODS_ROOT = ${SRCROOT}/Pods 14 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 16 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemo/Pods-MacDemo.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_MacDemo { 2 | umbrella header "Pods-MacDemo-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemo/Pods-MacDemo.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" "rustlib/Classes/*.h" 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/../Frameworks' '@loader_path/Frameworks' "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 7 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_ROOT}/../../rustlib/_gen/mac_artifact/rustlib/Libraries" /usr/lib/swift 8 | OTHER_LDFLAGS = $(inherited) -ObjC -framework "rustlib" 9 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 10 | PODS_BUILD_DIR = ${BUILD_DIR} 11 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 12 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 13 | PODS_ROOT = ${SRCROOT}/Pods 14 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 16 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemoTests/Pods-MacDemoTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemoTests/Pods-MacDemoTests-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_MacDemoTests : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_MacDemoTests 5 | @end 6 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemoTests/Pods-MacDemoTests-frameworks-Debug-input-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${PODS_ROOT}/Target Support Files/Pods-MacDemoTests/Pods-MacDemoTests-frameworks.sh 2 | ${BUILT_PRODUCTS_DIR}/rustlib/rustlib.framework -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemoTests/Pods-MacDemoTests-frameworks-Debug-output-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/rustlib.framework -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemoTests/Pods-MacDemoTests-frameworks-Release-input-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${PODS_ROOT}/Target Support Files/Pods-MacDemoTests/Pods-MacDemoTests-frameworks.sh 2 | ${BUILT_PRODUCTS_DIR}/rustlib/rustlib.framework -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemoTests/Pods-MacDemoTests-frameworks-Release-output-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/rustlib.framework -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemoTests/Pods-MacDemoTests-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_MacDemoTestsVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_MacDemoTestsVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemoTests/Pods-MacDemoTests.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" "rustlib/Classes/*.h" 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift "$(PLATFORM_DIR)/Developer/Library/Frameworks" '@executable_path/../Frameworks' '@loader_path/../Frameworks' "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 7 | OTHER_LDFLAGS = $(inherited) -ObjC -framework "rustlib" 8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 9 | PODS_BUILD_DIR = ${BUILD_DIR} 10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 11 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 12 | PODS_ROOT = ${SRCROOT}/Pods 13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 15 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemoTests/Pods-MacDemoTests.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_MacDemoTests { 2 | umbrella header "Pods-MacDemoTests-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/Pods-MacDemoTests/Pods-MacDemoTests.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" "rustlib/Classes/*.h" 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift "$(PLATFORM_DIR)/Developer/Library/Frameworks" '@executable_path/../Frameworks' '@loader_path/../Frameworks' "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 7 | OTHER_LDFLAGS = $(inherited) -ObjC -framework "rustlib" 8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 9 | PODS_BUILD_DIR = ${BUILD_DIR} 10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 11 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 12 | PODS_ROOT = ${SRCROOT}/Pods 13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 15 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/rustlib/rustlib-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/rustlib/rustlib-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_rustlib : NSObject 3 | @end 4 | @implementation PodsDummy_rustlib 5 | @end 6 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/rustlib/rustlib-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/rustlib/rustlib-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #import "ffi.h" 14 | 15 | FOUNDATION_EXPORT double rustlibVersionNumber; 16 | FOUNDATION_EXPORT const unsigned char rustlibVersionString[]; 17 | 18 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/rustlib/rustlib.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CODE_SIGN_IDENTITY = 3 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/rustlib 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "rustlib/Classes/*.h" 6 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_ROOT}/../../rustlib/_gen/mac_artifact/rustlib/Libraries" /usr/lib/swift 7 | OTHER_LDFLAGS = $(inherited) -l"Ffi" 8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 9 | PODS_BUILD_DIR = ${BUILD_DIR} 10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 11 | PODS_ROOT = ${SRCROOT} 12 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../rustlib/_gen/mac_artifact 13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 14 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 15 | SKIP_INSTALL = YES 16 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 17 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/rustlib/rustlib.modulemap: -------------------------------------------------------------------------------- 1 | framework module rustlib { 2 | umbrella header "rustlib-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /demo-mac/Example/Pods/Target Support Files/rustlib/rustlib.release.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CODE_SIGN_IDENTITY = 3 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/rustlib 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "rustlib/Classes/*.h" 6 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_ROOT}/../../rustlib/_gen/mac_artifact/rustlib/Libraries" /usr/lib/swift 7 | OTHER_LDFLAGS = $(inherited) -l"Ffi" 8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 9 | PODS_BUILD_DIR = ${BUILD_DIR} 10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 11 | PODS_ROOT = ${SRCROOT} 12 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../rustlib/_gen/mac_artifact 13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 14 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 15 | SKIP_INSTALL = YES 16 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 17 | -------------------------------------------------------------------------------- /demo-mac/Example2/Example2.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo-mac/Example2/Example2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /demo-mac/Example2/Example2.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /demo-mac/Example2/Example2.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /demo-mac/Example2/Example2/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // Example2 4 | // 5 | // Created by XinWang on 2022/4/15. 6 | // 7 | 8 | import Cocoa 9 | 10 | @main 11 | class AppDelegate: NSObject, NSApplicationDelegate { 12 | 13 | 14 | 15 | 16 | func applicationDidFinishLaunching(_ aNotification: Notification) { 17 | // Insert code here to initialize your application 18 | } 19 | 20 | func applicationWillTerminate(_ aNotification: Notification) { 21 | // Insert code here to tear down your application 22 | } 23 | 24 | 25 | } 26 | 27 | -------------------------------------------------------------------------------- /demo-mac/Example2/Example2/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /demo-mac/Example2/Example2/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "mac", 5 | "scale" : "1x", 6 | "size" : "16x16" 7 | }, 8 | { 9 | "idiom" : "mac", 10 | "scale" : "2x", 11 | "size" : "16x16" 12 | }, 13 | { 14 | "idiom" : "mac", 15 | "scale" : "1x", 16 | "size" : "32x32" 17 | }, 18 | { 19 | "idiom" : "mac", 20 | "scale" : "2x", 21 | "size" : "32x32" 22 | }, 23 | { 24 | "idiom" : "mac", 25 | "scale" : "1x", 26 | "size" : "128x128" 27 | }, 28 | { 29 | "idiom" : "mac", 30 | "scale" : "2x", 31 | "size" : "128x128" 32 | }, 33 | { 34 | "idiom" : "mac", 35 | "scale" : "1x", 36 | "size" : "256x256" 37 | }, 38 | { 39 | "idiom" : "mac", 40 | "scale" : "2x", 41 | "size" : "256x256" 42 | }, 43 | { 44 | "idiom" : "mac", 45 | "scale" : "1x", 46 | "size" : "512x512" 47 | }, 48 | { 49 | "idiom" : "mac", 50 | "scale" : "2x", 51 | "size" : "512x512" 52 | } 53 | ], 54 | "info" : { 55 | "author" : "xcode", 56 | "version" : 1 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /demo-mac/Example2/Example2/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /demo-mac/Example2/Example2/Example2.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.files.user-selected.read-only 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /demo-mac/Example2/Example2/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSMainStoryboardFile 26 | Main 27 | NSPrincipalClass 28 | NSApplication 29 | 30 | 31 | -------------------------------------------------------------------------------- /demo-mac/Example2/Example2/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // Example2 4 | // 5 | // Created by XinWang on 2022/4/15. 6 | // 7 | 8 | import Cocoa 9 | 10 | class ViewController: NSViewController { 11 | 12 | override func viewDidLoad() { 13 | super.viewDidLoad() 14 | 15 | // Do any additional setup after loading the view. 16 | } 17 | 18 | override var representedObject: Any? { 19 | didSet { 20 | // Update the view, if already loaded. 21 | } 22 | } 23 | 24 | 25 | } 26 | 27 | -------------------------------------------------------------------------------- /demo-mac/Example2/Example2Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /demo-mac/Example2/Example2UITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /demo-mac/Example2/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | platform :osx, "10.9" 5 | 6 | target 'Example2' do 7 | # Comment the next line if you don't want to use dynamic frameworks 8 | use_frameworks! 9 | inherit! :search_paths 10 | pod 'rustlib', :path => '../rustlib/_gen/mac_artifact' 11 | 12 | # Pods for MacDemo 13 | 14 | target 'Example2Tests' do 15 | inherit! :search_paths 16 | pod 'rustlib', :path => '../rustlib/_gen/mac_artifact' 17 | end 18 | 19 | end 20 | 21 | # use_frameworks! 22 | 23 | # platform :osx 24 | 25 | # target 'demo-ios_Example' do 26 | # pod 'rustlib', :path => '../rustlib/_gen/mac_artifact' 27 | # end 28 | 29 | # target 'demo-ios_ExampleTests' do 30 | 31 | # end 32 | 33 | -------------------------------------------------------------------------------- /demo-mac/Example2/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - rustlib (0.1.0) 3 | 4 | DEPENDENCIES: 5 | - rustlib (from `../rustlib/_gen/mac_artifact`) 6 | 7 | EXTERNAL SOURCES: 8 | rustlib: 9 | :path: "../rustlib/_gen/mac_artifact" 10 | 11 | SPEC CHECKSUMS: 12 | rustlib: be18a18f81a2a04b0e0bf652c3b08ada68b8e2f6 13 | 14 | PODFILE CHECKSUM: eac47445603fa9b8da9f01a59c839c7a220b206b 15 | 16 | COCOAPODS: 1.11.2 17 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Local Podspecs/rustlib.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rustlib", 3 | "version": "0.1.0", 4 | "summary": "A short description of rustlib.", 5 | "description": "TODO: Add long description of the pod here.", 6 | "homepage": "https://github.com/sidney.wang/rustlib", 7 | "license": { 8 | "type": "MIT", 9 | "file": "LICENSE" 10 | }, 11 | "authors": { 12 | "sidney.wang": "sidney.wang@foxmail.com" 13 | }, 14 | "source": { 15 | "git": "https://github.com/sidney.wang/rustlib.git", 16 | "tag": "0.1.0" 17 | }, 18 | "platforms": { 19 | "osx": "10.9" 20 | }, 21 | "source_files": "rustlib/Classes/*.{h,swift}", 22 | "vendored_libraries": "rustlib/Libraries/*.a", 23 | "public_header_files": "rustlib/Classes/*.h", 24 | "xcconfig": { 25 | "HEADER_SEARCH_PATHS": "\"rustlib/Classes/*.h\"" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - rustlib (0.1.0) 3 | 4 | DEPENDENCIES: 5 | - rustlib (from `../rustlib/_gen/mac_artifact`) 6 | 7 | EXTERNAL SOURCES: 8 | rustlib: 9 | :path: "../rustlib/_gen/mac_artifact" 10 | 11 | SPEC CHECKSUMS: 12 | rustlib: be18a18f81a2a04b0e0bf652c3b08ada68b8e2f6 13 | 14 | PODFILE CHECKSUM: eac47445603fa9b8da9f01a59c839c7a220b206b 15 | 16 | COCOAPODS: 1.11.2 17 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2/Pods-Example2-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2/Pods-Example2-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_Example2 : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_Example2 5 | @end 6 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2/Pods-Example2-frameworks-Debug-input-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${PODS_ROOT}/Target Support Files/Pods-Example2/Pods-Example2-frameworks.sh 2 | ${BUILT_PRODUCTS_DIR}/rustlib/rustlib.framework -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2/Pods-Example2-frameworks-Debug-output-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/rustlib.framework -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2/Pods-Example2-frameworks-Release-input-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${PODS_ROOT}/Target Support Files/Pods-Example2/Pods-Example2-frameworks.sh 2 | ${BUILT_PRODUCTS_DIR}/rustlib/rustlib.framework -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2/Pods-Example2-frameworks-Release-output-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/rustlib.framework -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2/Pods-Example2-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_Example2VersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_Example2VersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2/Pods-Example2.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_Example2 { 2 | umbrella header "Pods-Example2-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2Tests/Pods-Example2Tests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2Tests/Pods-Example2Tests-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_Example2Tests : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_Example2Tests 5 | @end 6 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2Tests/Pods-Example2Tests-frameworks-Debug-input-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${PODS_ROOT}/Target Support Files/Pods-Example2Tests/Pods-Example2Tests-frameworks.sh 2 | ${BUILT_PRODUCTS_DIR}/rustlib/rustlib.framework -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2Tests/Pods-Example2Tests-frameworks-Debug-output-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/rustlib.framework -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2Tests/Pods-Example2Tests-frameworks-Release-input-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${PODS_ROOT}/Target Support Files/Pods-Example2Tests/Pods-Example2Tests-frameworks.sh 2 | ${BUILT_PRODUCTS_DIR}/rustlib/rustlib.framework -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2Tests/Pods-Example2Tests-frameworks-Release-output-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/rustlib.framework -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2Tests/Pods-Example2Tests-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_Example2TestsVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_Example2TestsVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2Tests/Pods-Example2Tests.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" "rustlib/Classes/*.h" 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift "$(PLATFORM_DIR)/Developer/Library/Frameworks" '@executable_path/../Frameworks' '@loader_path/../Frameworks' "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 7 | OTHER_LDFLAGS = $(inherited) -ObjC -framework "rustlib" 8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 9 | PODS_BUILD_DIR = ${BUILD_DIR} 10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 11 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 12 | PODS_ROOT = ${SRCROOT}/Pods 13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 15 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2Tests/Pods-Example2Tests.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_Example2Tests { 2 | umbrella header "Pods-Example2Tests-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/Pods-Example2Tests/Pods-Example2Tests.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" "rustlib/Classes/*.h" 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift "$(PLATFORM_DIR)/Developer/Library/Frameworks" '@executable_path/../Frameworks' '@loader_path/../Frameworks' "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 7 | OTHER_LDFLAGS = $(inherited) -ObjC -framework "rustlib" 8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 9 | PODS_BUILD_DIR = ${BUILD_DIR} 10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 11 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 12 | PODS_ROOT = ${SRCROOT}/Pods 13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 15 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/rustlib/rustlib-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/rustlib/rustlib-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_rustlib : NSObject 3 | @end 4 | @implementation PodsDummy_rustlib 5 | @end 6 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/rustlib/rustlib-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/rustlib/rustlib-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #import "ffi.h" 14 | 15 | FOUNDATION_EXPORT double rustlibVersionNumber; 16 | FOUNDATION_EXPORT const unsigned char rustlibVersionString[]; 17 | 18 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/rustlib/rustlib.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CODE_SIGN_IDENTITY = 3 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/rustlib 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "rustlib/Classes/*.h" 6 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_ROOT}/../../rustlib/_gen/mac_artifact/rustlib/Libraries" /usr/lib/swift 7 | OTHER_LDFLAGS = $(inherited) -l"Ffi" 8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 9 | PODS_BUILD_DIR = ${BUILD_DIR} 10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 11 | PODS_ROOT = ${SRCROOT} 12 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../rustlib/_gen/mac_artifact 13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 14 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 15 | SKIP_INSTALL = YES 16 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 17 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/rustlib/rustlib.modulemap: -------------------------------------------------------------------------------- 1 | framework module rustlib { 2 | umbrella header "rustlib-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /demo-mac/Example2/Pods/Target Support Files/rustlib/rustlib.release.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CODE_SIGN_IDENTITY = 3 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/rustlib 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "rustlib/Classes/*.h" 6 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_ROOT}/../../rustlib/_gen/mac_artifact/rustlib/Libraries" /usr/lib/swift 7 | OTHER_LDFLAGS = $(inherited) -l"Ffi" 8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 9 | PODS_BUILD_DIR = ${BUILD_DIR} 10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 11 | PODS_ROOT = ${SRCROOT} 12 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../rustlib/_gen/mac_artifact 13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 14 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 15 | SKIP_INSTALL = YES 16 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 17 | -------------------------------------------------------------------------------- /demo-mac/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2022 sidneywang 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /demo-mac/Podfile: -------------------------------------------------------------------------------- 1 | use_frameworks! 2 | 3 | platform :osx 4 | 5 | target 'demo-ios_Example' do 6 | pod 'rustlib', :path => '../rustlib/_gen/mac_artifact' 7 | end 8 | 9 | target 'demo-ios_ExampleTests' do 10 | pod 'rustlib', :path => '../rustlib/_gen/mac_artifact' 11 | end 12 | -------------------------------------------------------------------------------- /demo-mac/README.md: -------------------------------------------------------------------------------- 1 | # demo-ios 2 | 3 | [![CI Status](https://img.shields.io/travis/sidneywang/demo-ios.svg?style=flat)](https://travis-ci.org/sidneywang/demo-ios) 4 | [![Version](https://img.shields.io/cocoapods/v/demo-ios.svg?style=flat)](https://cocoapods.org/pods/demo-ios) 5 | [![License](https://img.shields.io/cocoapods/l/demo-ios.svg?style=flat)](https://cocoapods.org/pods/demo-ios) 6 | [![Platform](https://img.shields.io/cocoapods/p/demo-ios.svg?style=flat)](https://cocoapods.org/pods/demo-ios) 7 | 8 | ## Example 9 | 10 | To run the example project, clone the repo, and run `pod install` from the Example directory first. 11 | 12 | ## Requirements 13 | 14 | ## Installation 15 | 16 | demo-ios is available through [CocoaPods](https://cocoapods.org). To install 17 | it, simply add the following line to your Podfile: 18 | 19 | ```ruby 20 | pod 'demo-ios' 21 | ``` 22 | 23 | ## Author 24 | 25 | sidneywang, sidney.wang@foxmail.com 26 | 27 | ## License 28 | 29 | demo-ios is available under the MIT license. See the LICENSE file for more info. 30 | -------------------------------------------------------------------------------- /demo-mac/_Pods.xcodeproj: -------------------------------------------------------------------------------- 1 | Example/Pods/Pods.xcodeproj -------------------------------------------------------------------------------- /demo-mac/rustlib/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "cfg-if" 7 | version = "1.0.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 10 | 11 | [[package]] 12 | name = "log" 13 | version = "0.4.14" 14 | source = "registry+https://github.com/rust-lang/crates.io-index" 15 | checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" 16 | dependencies = [ 17 | "cfg-if", 18 | ] 19 | 20 | [[package]] 21 | name = "mac-rustlib" 22 | version = "0.1.0" 23 | dependencies = [ 24 | "log", 25 | ] 26 | -------------------------------------------------------------------------------- /demo-mac/rustlib/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "mac-rustlib" 3 | version = "0.1.0" 4 | authors = ["sidney.wang "] 5 | 6 | [features] 7 | drive_ios = [] 8 | drive = [] 9 | 10 | [dependencies] 11 | log = "0.4.14" 12 | #oslog = "0.2.0" -------------------------------------------------------------------------------- /demo-mac/rustlib/Rsbind.toml: -------------------------------------------------------------------------------- 1 | [mac] 2 | rustc_param = "" 3 | release = true 4 | features_def = [] 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo-mac/rustlib/src/contract/contract2.rs: -------------------------------------------------------------------------------- 1 | pub trait DemoTrait3 : Send + Sync { 2 | fn setup(); 3 | } -------------------------------------------------------------------------------- /demo-mac/rustlib/src/contract/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod contract1; 2 | pub mod contract2; 3 | -------------------------------------------------------------------------------- /demo-mac/rustlib/src/imp/contract2_imp.rs: -------------------------------------------------------------------------------- 1 | use contract::contract2::DemoTrait3; 2 | 3 | pub struct TestContract1Imp {} 4 | 5 | impl DemoTrait3 for TestContract1Imp { 6 | fn setup() { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /demo-mac/rustlib/src/imp/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod contract1_imp; 2 | pub mod contract2_imp; -------------------------------------------------------------------------------- /demo-mac/rustlib/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod contract; 2 | pub mod imp; 3 | 4 | // extern crate oslog; 5 | #[macro_use] extern crate log; -------------------------------------------------------------------------------- /docs/first_structure.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/docs/first_structure.jpg -------------------------------------------------------------------------------- /docs/rsbind_structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/docs/rsbind_structure.png -------------------------------------------------------------------------------- /docs/second_structure.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/docs/second_structure.jpg -------------------------------------------------------------------------------- /docs/structures.md: -------------------------------------------------------------------------------- 1 | # 目录简介 2 | | 目录 | 作用 | 3 | | --------------- | ------------------------------------------------------------------------------------ | 4 | | tools-rsbind | 这个是项目中最主要的工程,也是工具的主工程。最终通过这个目录将工具打包为二进制文件。 | 5 | | tools-swift-gen | 这个是项目中的主要用于swift的代码生成。 | 6 | | tools-java-gen | 这个是项目中的主要用于Java的代码生成。 | 7 | | demo | rust项目的示例,直接执行命令可以在demo/target下 | 8 | | demo-ios | 主要用于实验demo生成的framwork | 9 | | template | 一些模板项目,在生成时将模板项目解压并更改或添加其中的文件达到编译成目标文件的作用 | -------------------------------------------------------------------------------- /toolchain/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "rsbind", 4 | "ndk-tool", 5 | "build-script", 6 | ] 7 | -------------------------------------------------------------------------------- /toolchain/build-script/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "build-script" 3 | version = "0.1.0" 4 | edition = "2021" 5 | description = "build script for rsbind." 6 | license = "Apache-2.0" 7 | 8 | [dependencies] 9 | zip = "0.5.13" 10 | walkdir = "2.3.2" 11 | 12 | [lib] 13 | name = "build_script" 14 | path = "src/lib.rs" 15 | 16 | [[bin]] 17 | name = "template" 18 | path = "src/main.rs" -------------------------------------------------------------------------------- /toolchain/build-script/src/lib.rs: -------------------------------------------------------------------------------- 1 | extern crate walkdir; 2 | extern crate zip; 3 | 4 | pub mod dirzip; 5 | 6 | #[cfg(test)] 7 | mod tests { 8 | #[test] 9 | fn it_works() { 10 | let result = 2 + 2; 11 | assert_eq!(result, 4); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /toolchain/ndk-tool/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "ndk-tool" 3 | version = "0.1.0" 4 | edition = "2021" 5 | readme = "README.md" 6 | description = "Build android so file used in rsbind" 7 | license = "Apache-2.0" 8 | 9 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 10 | 11 | [dependencies] 12 | ndk-build = "0.4.3" 13 | error-chain = "0.12.1" -------------------------------------------------------------------------------- /toolchain/ndk-tool/README.md: -------------------------------------------------------------------------------- 1 | A wrapper for nkd-build and used for rsbind. -------------------------------------------------------------------------------- /toolchain/ndk-tool/src/error.rs: -------------------------------------------------------------------------------- 1 | use error_chain::error_chain; 2 | 3 | error_chain! { 4 | errors { 5 | NdkBuildError(msg: String) { 6 | description("Ndk error"), 7 | display("ndk error: {}", msg), 8 | } 9 | } 10 | 11 | foreign_links { 12 | Ndk(ndk_build::error::NdkError); 13 | Io(::std::io::Error); 14 | Fmt(::std::fmt::Error); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /toolchain/rsbind/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "rsbind" 3 | version = "0.6.0" 4 | authors = ["sidney.wang "] 5 | edition = "2021" 6 | readme = "../../README.md" 7 | description = "Provide tools to bind rust trait with other language and export library artifact directly. Invoke rust functions just like you write it in native language." 8 | license = "Apache-2.0" 9 | 10 | [dependencies] 11 | quote = "1.0.14" 12 | proc-macro2 = "1.0.36" 13 | cbindgen = "0.24.3" 14 | serde_json = "1.0" 15 | serde_derive = "1.0" 16 | serde = "1.0" 17 | zip = "0.6.2" 18 | fs_extra = "1.1.0" 19 | toml = "0.5.1" 20 | error-chain = "0.12.1" 21 | ndk-build = "0.8.0" 22 | rstgen = "0.1.4" 23 | ndk-tool = "0.1.0" 24 | heck = "0.4.0" 25 | 26 | [dependencies.syn] 27 | version = "1.0.84" 28 | default_features = false 29 | features = ["parsing", "full", "extra-traits"] 30 | 31 | [lib] 32 | name = "rsbind_core" 33 | path = "src/lib.rs" 34 | 35 | [[bin]] 36 | name = "rsbind" 37 | path = "src/main.rs" 38 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/android/mod.rs: -------------------------------------------------------------------------------- 1 | pub(crate) mod config; 2 | pub(crate) mod process; 3 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/android/res/template_android.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/toolchain/rsbind/src/android/res/template_android.zip -------------------------------------------------------------------------------- /toolchain/rsbind/src/android/res/template_bridge_android.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/toolchain/rsbind/src/android/res/template_bridge_android.zip -------------------------------------------------------------------------------- /toolchain/rsbind/src/ast/contract/desc.rs: -------------------------------------------------------------------------------- 1 | use super::super::types::*; 2 | 3 | #[derive(Debug, Serialize, Deserialize, PartialEq, Clone)] 4 | pub(crate) struct ArgDesc { 5 | pub name: String, 6 | pub ty: AstType, 7 | } 8 | 9 | #[derive(Debug, Serialize, Deserialize, PartialEq, Clone)] 10 | pub(crate) struct MethodDesc { 11 | pub name: String, 12 | pub return_type: AstType, 13 | pub args: Vec, 14 | pub swallow_self: bool, 15 | } 16 | 17 | #[derive(Debug, Serialize, Deserialize, PartialEq, Clone)] 18 | pub(crate) struct TraitDesc { 19 | pub name: String, 20 | pub ty: String, 21 | pub mod_name: String, 22 | pub mod_path: String, 23 | pub crate_name: String, 24 | pub is_callback: bool, 25 | pub methods: Vec, 26 | } 27 | 28 | #[derive(Debug, Serialize, Deserialize, PartialEq, Clone)] 29 | pub(crate) struct StructDesc { 30 | pub name: String, 31 | pub ty: String, 32 | pub mod_name: String, 33 | pub mod_path: String, 34 | pub crate_name: String, 35 | pub fields: Vec, 36 | } 37 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/ast/contract/mod.rs: -------------------------------------------------------------------------------- 1 | pub(crate) mod desc; 2 | pub(crate) mod parser; 3 | mod test; 4 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/ast/imp/desc.rs: -------------------------------------------------------------------------------- 1 | #[derive(Debug, Clone)] 2 | pub struct ImpDesc { 3 | pub name: String, 4 | pub contract: String, 5 | pub mod_name: String, 6 | pub mod_path: String, 7 | } 8 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/ast/imp/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod desc; 2 | pub mod parser; 3 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/base/mod.rs: -------------------------------------------------------------------------------- 1 | pub(crate) mod artifact; 2 | pub(crate) mod bridge; 3 | pub(crate) mod lang; 4 | pub(crate) mod process; 5 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/base/process.rs: -------------------------------------------------------------------------------- 1 | use crate::errors::*; 2 | 3 | pub(crate) trait BuildProcess { 4 | fn unpack(&self) -> Result<()>; 5 | fn gen_bridge_src(&self) -> Result<()>; 6 | fn build_bridge_prj(&self) -> Result<()>; 7 | fn copy_bridge_outputs(&self) -> Result<()>; 8 | fn gen_artifact_code(&self) -> Result<()>; 9 | fn build_artifact_prj(&self) -> Result<()>; 10 | } 11 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/bridge/mod.rs: -------------------------------------------------------------------------------- 1 | pub(crate) mod prj; 2 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/cargo.rs: -------------------------------------------------------------------------------- 1 | use std::fs::File; 2 | use std::io::Read; 3 | use std::path::Path; 4 | 5 | use crate::errors::ErrorKind::*; 6 | use crate::errors::*; 7 | 8 | #[derive(Clone, Deserialize, Debug)] 9 | pub struct Manifest { 10 | pub package: Package, 11 | } 12 | 13 | #[derive(Clone, Deserialize, Debug)] 14 | pub struct Package { 15 | pub name: String, 16 | } 17 | 18 | /// Parse the Cargo.toml for a given path 19 | pub fn manifest(manifest_path: &Path) -> Result { 20 | let mut s = String::new(); 21 | let mut f = File::open(manifest_path) 22 | .map_err(|e| FileError(format!("open cargo toml error, {:?}", e)))?; 23 | f.read_to_string(&mut s) 24 | .map_err(|e| FileError(format!("read cargo toml error, {:?}", e)))?; 25 | 26 | toml::from_str::(&s).map_err(|x| x.into()) 27 | } 28 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/common.rs: -------------------------------------------------------------------------------- 1 | #[macro_export] 2 | macro_rules! ident { 3 | ($name:expr) => { 4 | proc_macro2::Ident::new($name, proc_macro2::Span::call_site()) 5 | }; 6 | } 7 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/errors.rs: -------------------------------------------------------------------------------- 1 | error_chain! { 2 | errors { 3 | FileError(msg: String) { 4 | description("file error"), 5 | display("file error: {}", msg), 6 | } 7 | ParseError(msg: String) { 8 | description("parse error"), 9 | display("parse error: {}", msg), 10 | } 11 | GenerateError(msg: String) { 12 | description("generate error"), 13 | display("parse error: {}", msg), 14 | } 15 | 16 | ZipError(msg: String) { 17 | description("zip error"), 18 | display("zip error: {}", msg), 19 | } 20 | CommandError(msg: String) { 21 | description("command error"), 22 | display("command error: {}", msg), 23 | } 24 | } 25 | 26 | foreign_links { 27 | Io(::std::io::Error); 28 | Toml(::toml::de::Error); 29 | FsExt(::fs_extra::error::Error); 30 | Fmt(::std::fmt::Error); 31 | Cbind(cbindgen::Error); 32 | NdkError(ndk_build::error::NdkError); 33 | NdkBuild(ndk_tool::error::Error); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/ios/mod.rs: -------------------------------------------------------------------------------- 1 | pub(crate) mod config; 2 | pub(crate) mod process; 3 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/ios/res/template_bridge_ios.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/toolchain/rsbind/src/ios/res/template_bridge_ios.zip -------------------------------------------------------------------------------- /toolchain/rsbind/src/ios/res/template_ios.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/toolchain/rsbind/src/ios/res/template_ios.zip -------------------------------------------------------------------------------- /toolchain/rsbind/src/jar/mod.rs: -------------------------------------------------------------------------------- 1 | mod arch; 2 | pub(crate) mod config; 3 | pub(crate) mod process; 4 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/jar/res/template_bridge_jar.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/toolchain/rsbind/src/jar/res/template_bridge_jar.zip -------------------------------------------------------------------------------- /toolchain/rsbind/src/jar/res/template_jar.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/toolchain/rsbind/src/jar/res/template_jar.zip -------------------------------------------------------------------------------- /toolchain/rsbind/src/java/struct_.rs: -------------------------------------------------------------------------------- 1 | use rstgen::java::{Class, Field, Modifier}; 2 | use rstgen::{java, IntoTokens, Java}; 3 | 4 | use crate::ast::contract::desc::StructDesc; 5 | use crate::errors::*; 6 | use crate::java::types::{to_java_file, JavaType}; 7 | 8 | pub(crate) struct StructGen<'a> { 9 | pub desc: &'a StructDesc, 10 | pub pkg: String, 11 | } 12 | 13 | impl<'a> StructGen<'a> { 14 | pub(crate) fn gen(&self) -> Result { 15 | let mut class = Class::new(self.desc.name.clone()); 16 | class.modifiers.push(Modifier::Public); 17 | class 18 | .implements 19 | .push(java::imported("java.io", "Serializable")); 20 | 21 | for field in self.desc.fields.iter() { 22 | let field_ty = JavaType::new(field.ty.clone()); 23 | let mut java_field = Field::new(Java::from(field_ty), field.name.clone()); 24 | java_field.modifiers = vec![Modifier::Public]; 25 | class.fields.push(java_field); 26 | } 27 | 28 | to_java_file(self.pkg.as_ref(), class.into_tokens()) 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/java/ty/mod.rs: -------------------------------------------------------------------------------- 1 | pub(crate) mod basic; 2 | pub(crate) mod callback; 3 | pub(crate) mod str; 4 | pub(crate) mod struct_; 5 | pub(crate) mod vec_byte; 6 | pub(crate) mod vec_default; 7 | pub(crate) mod vec_struct; 8 | pub(crate) mod void; 9 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/mac/mod.rs: -------------------------------------------------------------------------------- 1 | pub(crate) mod config; 2 | pub(crate) mod process; 3 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/mac/res/template_bridge_mac.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/toolchain/rsbind/src/mac/res/template_bridge_mac.zip -------------------------------------------------------------------------------- /toolchain/rsbind/src/mac/res/template_mac.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/toolchain/rsbind/src/mac/res/template_mac.zip -------------------------------------------------------------------------------- /toolchain/rsbind/src/swift/ty/mod.rs: -------------------------------------------------------------------------------- 1 | pub(crate) mod basic; 2 | pub(crate) mod callback; 3 | pub(crate) mod str; 4 | pub(crate) mod struct_; 5 | pub(crate) mod vec_base; 6 | pub(crate) mod vec_default; 7 | pub(crate) mod vec_struct; 8 | pub(crate) mod void; 9 | -------------------------------------------------------------------------------- /toolchain/rsbind/src/test.rs: -------------------------------------------------------------------------------- 1 | #[cfg(test)] 2 | mod tests { 3 | #[test] 4 | fn gen_jni_works() {} 5 | } 6 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-android/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/libraries 5 | /.idea/modules.xml 6 | /.idea/workspace.xml 7 | .DS_Store 8 | /build 9 | /captures 10 | .externalNativeBuild 11 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-android/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | 5 | repositories { 6 | google() 7 | jcenter() 8 | } 9 | dependencies { 10 | classpath 'com.android.tools.build:gradle:7.0.0' 11 | 12 | 13 | // NOTE: Do not place your application dependencies here; they belong 14 | // in the individual module build.gradle files 15 | } 16 | } 17 | 18 | allprojects { 19 | repositories { 20 | google() 21 | jcenter() 22 | } 23 | } 24 | 25 | task clean(type: Delete) { 26 | delete rootProject.buildDir 27 | } 28 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-android/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/toolchain/rsbind/template/template-android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Jul 10 16:26:33 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-android/rustlib/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-android/rustlib/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 31 5 | 6 | 7 | 8 | defaultConfig { 9 | minSdkVersion 16 10 | targetSdkVersion 31 11 | versionCode 1 12 | versionName "1.0" 13 | 14 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 15 | 16 | } 17 | 18 | buildTypes { 19 | release { 20 | minifyEnabled false 21 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 22 | } 23 | } 24 | 25 | } 26 | 27 | dependencies { 28 | implementation fileTree(dir: 'libs', include: ['*.jar']) 29 | implementation 'com.google.code.gson:gson:2.9.0' 30 | testImplementation 'junit:junit:4.12' 31 | androidTestImplementation 'com.android.support.test:runner:1.0.2' 32 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' 33 | } 34 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-android/rustlib/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-android/rustlib/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-android/rustlib/src/main/java/com/afoxer/rsbind/Common.java: -------------------------------------------------------------------------------- 1 | package com.afoxer.rsbind; 2 | 3 | public class Common { 4 | public static void loadLibrary(String libName) { 5 | System.loadLibrary(libName); 6 | } 7 | } -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':rustlib' 2 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-bridge-android/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "$(*521%-host_crate_underscore)_android_bridge_prj" 3 | version = "0.1.0" 4 | authors = ["sidney.wang "] 5 | 6 | #[workspace] 7 | #members = [] 8 | 9 | [lib] 10 | crate-type = ["lib", "cdylib"] 11 | 12 | [dependencies] 13 | $(*521%-host_crate) = { path = "../../"} 14 | jni = "0.19.0" 15 | serde_json = "1.0" 16 | serde_derive = "1.0" 17 | serde = "1.0" 18 | lazy_static = "1.0.0" 19 | android_logger = "0.11.1" 20 | log = "0.4" 21 | 22 | [features] 23 | $(*521%-features) -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-bridge-ios/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "$(*521%-host_crate_underscore)_ios_bridge_prj" 3 | version = "0.1.0" 4 | authors = ["sidney.wang "] 5 | 6 | #[workspace] 7 | #members = [] 8 | 9 | [lib] 10 | crate-type = [ "lib", "staticlib" ] 11 | 12 | [dependencies] 13 | $(*521%-host_crate) = { path = "../../"} 14 | serde_json = "1.0" 15 | serde_derive = "1.0" 16 | serde = "1.0" 17 | lazy_static = "1.4.0" 18 | 19 | [features] 20 | $(*521%-features) -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-bridge-jar/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "$(*521%-host_crate_underscore)_jar_bridge_prj" 3 | version = "0.1.0" 4 | authors = ["sidney.wang "] 5 | 6 | #[workspace] 7 | #members = [] 8 | 9 | [lib] 10 | crate-type = ["lib", "cdylib"] 11 | 12 | [dependencies] 13 | $(*521%-host_crate) = { path = "../../"} 14 | jni = "0.19.0" 15 | serde_json = "1.0" 16 | serde_derive = "1.0" 17 | serde = "1.0" 18 | lazy_static = "1.0.0" 19 | log = "0.4" 20 | 21 | [features] 22 | $(*521%-features) -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-bridge-mac/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "$(*521%-host_crate_underscore)_mac_bridge_prj" 3 | version = "0.1.0" 4 | authors = ["sidney.wang "] 5 | 6 | #[workspace] 7 | #members = [] 8 | 9 | [lib] 10 | crate-type = [ "lib", "staticlib" ] 11 | 12 | [dependencies] 13 | $(*521%-host_crate) = { path = "../../"} 14 | serde_json = "1.0" 15 | serde_derive = "1.0" 16 | serde = "1.0" 17 | lazy_static = "1.4.0" 18 | 19 | [features] 20 | $(*521%-features) -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/.gitignore: -------------------------------------------------------------------------------- 1 | # macOS 2 | .DS_Store 3 | 4 | # Xcode 5 | build/ 6 | *.pbxuser 7 | !default.pbxuser 8 | *.mode1v3 9 | !default.mode1v3 10 | *.mode2v3 11 | !default.mode2v3 12 | *.perspectivev3 13 | !default.perspectivev3 14 | xcuserdata/ 15 | *.xccheckout 16 | profile 17 | *.moved-aside 18 | DerivedData 19 | *.hmap 20 | *.ipa 21 | 22 | # Bundler 23 | .bundle 24 | 25 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 26 | # Carthage/Checkouts 27 | 28 | Carthage/Build 29 | 30 | # We recommend against adding the Pods directory to your .gitignore. However 31 | # you should judge for yourself, the pros and cons are mentioned at: 32 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control 33 | # 34 | # Note: if you ignore the Pods directory, make sure to uncomment 35 | # `pod install` in .travis.yml 36 | # 37 | # Pods/ 38 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/.travis.yml: -------------------------------------------------------------------------------- 1 | # references: 2 | # * https://www.objc.io/issues/6-build-tools/travis-ci/ 3 | # * https://github.com/supermarin/xcpretty#usage 4 | 5 | osx_image: xcode7.3 6 | language: objective-c 7 | # cache: cocoapods 8 | # podfile: Example/Podfile 9 | # before_install: 10 | # - gem install cocoapods # Since Travis is not always on latest version 11 | # - pod install --project-directory=Example 12 | script: 13 | - set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/rustlib.xcworkspace -scheme rustlib-Example -sdk iphonesimulator9.3 ONLY_ACTIVE_ARCH=NO | xcpretty 14 | - pod lib lint 15 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Podfile: -------------------------------------------------------------------------------- 1 | use_frameworks! 2 | 3 | platform :ios, '9.0' 4 | 5 | target 'rustlib_Example' do 6 | pod 'rustlib', :path => '../' 7 | 8 | target 'rustlib_Tests' do 9 | inherit! :search_paths 10 | 11 | 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - rustlib (0.1.0) 3 | 4 | DEPENDENCIES: 5 | - rustlib (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | rustlib: 9 | :path: "../" 10 | 11 | SPEC CHECKSUMS: 12 | rustlib: 6f467350a78f0e1237e5dd5059955fe875d82176 13 | 14 | PODFILE CHECKSUM: 6a1304f34447f1525731adf3b6ceb172017cf2de 15 | 16 | COCOAPODS: 1.11.2 17 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Local Podspecs/rustlib.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rustlib", 3 | "version": "0.1.0", 4 | "summary": "A short description of rustlib.", 5 | "description": "TODO: Add long description of the pod here.", 6 | "homepage": "https://github.com/sidney.wang/rustlib", 7 | "license": { 8 | "type": "MIT", 9 | "file": "LICENSE" 10 | }, 11 | "authors": { 12 | "sidney.wang": "sidney.wang@foxmail.com" 13 | }, 14 | "source": { 15 | "git": "https://github.com/sidney.wang/rustlib.git", 16 | "tag": "0.1.0" 17 | }, 18 | "platforms": { 19 | "ios": "9.0" 20 | }, 21 | "source_files": "rustlib/Classes/**/*" 22 | } 23 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - rustlib (0.1.0) 3 | 4 | DEPENDENCIES: 5 | - rustlib (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | rustlib: 9 | :path: "../" 10 | 11 | SPEC CHECKSUMS: 12 | rustlib: 6f467350a78f0e1237e5dd5059955fe875d82176 13 | 14 | PODFILE CHECKSUM: 6a1304f34447f1525731adf3b6ceb172017cf2de 15 | 16 | COCOAPODS: 1.11.2 17 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_rustlib_Example : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_rustlib_Example 5 | @end 6 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_rustlib_ExampleVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_rustlib_ExampleVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' 7 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift 8 | OTHER_LDFLAGS = $(inherited) -framework "rustlib" 9 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 10 | PODS_BUILD_DIR = ${BUILD_DIR} 11 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 12 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 13 | PODS_ROOT = ${SRCROOT}/Pods 14 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 16 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_rustlib_Example { 2 | umbrella header "Pods-rustlib_Example-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' 7 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift 8 | OTHER_LDFLAGS = $(inherited) -framework "rustlib" 9 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 10 | PODS_BUILD_DIR = ${BUILD_DIR} 11 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 12 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 13 | PODS_ROOT = ${SRCROOT}/Pods 14 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 16 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | Generated by CocoaPods - https://cocoapods.org 4 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Generated by CocoaPods - https://cocoapods.org 18 | Title 19 | 20 | Type 21 | PSGroupSpecifier 22 | 23 | 24 | StringsTable 25 | Acknowledgements 26 | Title 27 | Acknowledgements 28 | 29 | 30 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_rustlib_Tests : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_rustlib_Tests 5 | @end 6 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_rustlib_TestsVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_rustlib_TestsVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" 5 | OTHER_LDFLAGS = $(inherited) -framework "rustlib" 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 12 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_rustlib_Tests { 2 | umbrella header "Pods-rustlib_Tests-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests.release.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" 5 | OTHER_LDFLAGS = $(inherited) -framework "rustlib" 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 12 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/rustlib/rustlib-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/rustlib/rustlib-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_rustlib : NSObject 3 | @end 4 | @implementation PodsDummy_rustlib 5 | @end 6 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/rustlib/rustlib-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/rustlib/rustlib-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double rustlibVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char rustlibVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/rustlib/rustlib.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/rustlib 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift 5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT} 9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. 10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 12 | SKIP_INSTALL = YES 13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 14 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/rustlib/rustlib.modulemap: -------------------------------------------------------------------------------- 1 | framework module rustlib { 2 | umbrella header "rustlib-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Pods/Target Support Files/rustlib/rustlib.release.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/rustlib 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift 5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT} 9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. 10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 12 | SKIP_INSTALL = YES 13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 14 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/Tests/Tests.swift: -------------------------------------------------------------------------------- 1 | import XCTest 2 | import rustlib 3 | 4 | class Tests: XCTestCase { 5 | 6 | override func setUp() { 7 | super.setUp() 8 | // Put setup code here. This method is called before the invocation of each test method in the class. 9 | } 10 | 11 | override func tearDown() { 12 | // Put teardown code here. This method is called after the invocation of each test method in the class. 13 | super.tearDown() 14 | } 15 | 16 | func testExample() { 17 | // This is an example of a functional test case. 18 | XCTAssert(true, "Pass") 19 | } 20 | 21 | func testPerformanceExample() { 22 | // This is an example of a performance test case. 23 | self.measure() { 24 | // Put the code you want to measure the time of here. 25 | } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/rustlib.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/rustlib.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/rustlib.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/rustlib/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ios-marketing", 45 | "size" : "1024x1024", 46 | "scale" : "1x" 47 | } 48 | ], 49 | "info" : { 50 | "version" : 1, 51 | "author" : "xcode" 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/Example/rustlib/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // rustlib 4 | // 5 | // Created by sidney.wang on 02/18/2022. 6 | // Copyright (c) 2022 sidney.wang. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | // Do any additional setup after loading the view, typically from a nib. 16 | } 17 | 18 | override func didReceiveMemoryWarning() { 19 | super.didReceiveMemoryWarning() 20 | // Dispose of any resources that can be recreated. 21 | } 22 | 23 | } 24 | 25 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2022 sidney.wang 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/README.md: -------------------------------------------------------------------------------- 1 | # rustlib 2 | 3 | [![CI Status](https://img.shields.io/travis/sidney.wang/rustlib.svg?style=flat)](https://travis-ci.org/sidney.wang/rustlib) 4 | [![Version](https://img.shields.io/cocoapods/v/rustlib.svg?style=flat)](https://cocoapods.org/pods/rustlib) 5 | [![License](https://img.shields.io/cocoapods/l/rustlib.svg?style=flat)](https://cocoapods.org/pods/rustlib) 6 | [![Platform](https://img.shields.io/cocoapods/p/rustlib.svg?style=flat)](https://cocoapods.org/pods/rustlib) 7 | 8 | ## Example 9 | 10 | To run the example project, clone the repo, and run `pod install` from the Example directory first. 11 | 12 | ## Requirements 13 | 14 | ## Installation 15 | 16 | rustlib is available through [CocoaPods](https://cocoapods.org). To install 17 | it, simply add the following line to your Podfile: 18 | 19 | ```ruby 20 | pod 'rustlib' 21 | ``` 22 | 23 | ## Author 24 | 25 | sidney.wang, sidney.wang@foxmail.com 26 | 27 | ## License 28 | 29 | rustlib is available under the MIT license. See the LICENSE file for more info. 30 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/_Pods.xcodeproj: -------------------------------------------------------------------------------- 1 | Example/Pods/Pods.xcodeproj -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/rustlib/Assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/toolchain/rsbind/template/template-ios/rustlib/Assets/.gitkeep -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/rustlib/Classes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/toolchain/rsbind/template/template-ios/rustlib/Classes/.gitkeep -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-ios/rustlib/Classes/SynchronizedClosure.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SynchronizedClosure.swift 3 | // DocsSDK 4 | // 5 | // Created by zenghao on 2018/8/19. 6 | // 7 | 8 | import Foundation 9 | 10 | let sema = DispatchSemaphore(value: 1) 11 | 12 | func synchronized(_ closure: () -> ()) { 13 | sema.wait() 14 | closure() 15 | sema.signal() 16 | } 17 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-jar/app/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'application' 3 | } 4 | 5 | repositories { 6 | mavenCentral() 7 | } 8 | 9 | dependencies { 10 | implementation project(":rustlib") 11 | testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1' 12 | testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1' 13 | } 14 | 15 | application { 16 | mainClass = 'demo.Main' 17 | } 18 | 19 | test { 20 | useJUnitPlatform() 21 | } -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-jar/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'java' 3 | } 4 | 5 | group 'com.afoxer.xxx.ffi' 6 | version '1.0-SNAPSHOT' 7 | 8 | repositories { 9 | mavenCentral() 10 | } 11 | 12 | dependencies { 13 | testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' 14 | testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' 15 | } 16 | 17 | test { 18 | useJUnitPlatform() 19 | } -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-jar/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/toolchain/rsbind/template/template-jar/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-jar/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-jar/rustlib/bin/main/com/afoxer/rsbind/Common.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/toolchain/rsbind/template/template-jar/rustlib/bin/main/com/afoxer/rsbind/Common.class -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-jar/rustlib/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'java' 3 | } 4 | 5 | repositories { 6 | mavenCentral() 7 | } 8 | 9 | dependencies { 10 | implementation 'com.google.code.gson:gson:2.9.0' 11 | implementation 'org.scijava:native-lib-loader:2.4.0' 12 | testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1' 13 | testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1' 14 | } 15 | 16 | test { 17 | useJUnitPlatform() 18 | } -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-jar/rustlib/src/main/java/com/afoxer/rsbind/Common.java: -------------------------------------------------------------------------------- 1 | package com.afoxer.rsbind; 2 | 3 | import org.scijava.nativelib.NativeLoader; 4 | import java.io.IOException; 5 | 6 | public class Common { 7 | public static void loadLibrary(String libName) { 8 | try { 9 | NativeLoader.loadLibrary(libName); 10 | } catch (IOException e) { 11 | e.printStackTrace(); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-jar/settings.gradle: -------------------------------------------------------------------------------- 1 | include 'app' 2 | include 'rustlib' 3 | 4 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/.gitignore: -------------------------------------------------------------------------------- 1 | # macOS 2 | .DS_Store 3 | 4 | # Xcode 5 | build/ 6 | *.pbxuser 7 | !default.pbxuser 8 | *.mode1v3 9 | !default.mode1v3 10 | *.mode2v3 11 | !default.mode2v3 12 | *.perspectivev3 13 | !default.perspectivev3 14 | xcuserdata/ 15 | *.xccheckout 16 | profile 17 | *.moved-aside 18 | DerivedData 19 | *.hmap 20 | *.ipa 21 | 22 | # Bundler 23 | .bundle 24 | 25 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 26 | # Carthage/Checkouts 27 | 28 | Carthage/Build 29 | 30 | # We recommend against adding the Pods directory to your .gitignore. However 31 | # you should judge for yourself, the pros and cons are mentioned at: 32 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control 33 | # 34 | # Note: if you ignore the Pods directory, make sure to uncomment 35 | # `pod install` in .travis.yml 36 | # 37 | # Pods/ 38 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/.travis.yml: -------------------------------------------------------------------------------- 1 | # references: 2 | # * https://www.objc.io/issues/6-build-tools/travis-ci/ 3 | # * https://github.com/supermarin/xcpretty#usage 4 | 5 | osx_image: xcode7.3 6 | language: objective-c 7 | # cache: cocoapods 8 | # podfile: Example/Podfile 9 | # before_install: 10 | # - gem install cocoapods # Since Travis is not always on latest version 11 | # - pod install --project-directory=Example 12 | script: 13 | - set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/rustlib.xcworkspace -scheme rustlib-Example -sdk iphonesimulator9.3 ONLY_ACTIVE_ARCH=NO | xcpretty 14 | - pod lib lint 15 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Podfile: -------------------------------------------------------------------------------- 1 | use_frameworks! 2 | 3 | platform :osx 4 | 5 | target 'rustlib_Example' do 6 | pod 'rustlib', :path => '../' 7 | 8 | target 'rustlib_Tests' do 9 | inherit! :search_paths 10 | 11 | 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - rustlib (0.1.0) 3 | 4 | DEPENDENCIES: 5 | - rustlib (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | rustlib: 9 | :path: "../" 10 | 11 | SPEC CHECKSUMS: 12 | rustlib: 95d47297ae8cbfb52e7e3d7349e430b039823b65 13 | 14 | PODFILE CHECKSUM: 8e0fa156455a92582434cc246e6fc386703592de 15 | 16 | COCOAPODS: 1.11.2 17 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Local Podspecs/rustlib.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rustlib", 3 | "version": "0.1.0", 4 | "summary": "A short description of rustlib.", 5 | "description": "TODO: Add long description of the pod here.", 6 | "homepage": "https://github.com/sidney.wang/rustlib", 7 | "license": { 8 | "type": "MIT", 9 | "file": "LICENSE" 10 | }, 11 | "authors": { 12 | "sidney.wang": "sidney.wang@foxmail.com" 13 | }, 14 | "source": { 15 | "git": "https://github.com/sidney.wang/rustlib.git", 16 | "tag": "0.1.0" 17 | }, 18 | "source_files": "rustlib/Classes/*.{h,swift}", 19 | "vendored_libraries": "rustlib/Libraries/*.a", 20 | "public_header_files": "rustlib/Classes/*.h", 21 | "xcconfig": { 22 | "HEADER_SEARCH_PATHS": "\"rustlib/Classes/*.h\"" 23 | }, 24 | "platforms": { 25 | "osx": null, 26 | "ios": null, 27 | "tvos": null, 28 | "watchos": null 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - rustlib (0.1.0) 3 | 4 | DEPENDENCIES: 5 | - rustlib (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | rustlib: 9 | :path: "../" 10 | 11 | SPEC CHECKSUMS: 12 | rustlib: 95d47297ae8cbfb52e7e3d7349e430b039823b65 13 | 14 | PODFILE CHECKSUM: 8e0fa156455a92582434cc246e6fc386703592de 15 | 16 | COCOAPODS: 1.11.2 17 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_rustlib_Example : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_rustlib_Example 5 | @end 6 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_rustlib_ExampleVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_rustlib_ExampleVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" "rustlib/Classes/*.h" 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/../Frameworks' '@loader_path/Frameworks' "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 7 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift 8 | OTHER_LDFLAGS = $(inherited) -framework "rustlib" 9 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 10 | PODS_BUILD_DIR = ${BUILD_DIR} 11 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 12 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 13 | PODS_ROOT = ${SRCROOT}/Pods 14 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 16 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_rustlib_Example { 2 | umbrella header "Pods-rustlib_Example-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/Pods-rustlib_Example/Pods-rustlib_Example.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" "rustlib/Classes/*.h" 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/../Frameworks' '@loader_path/Frameworks' "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 7 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift 8 | OTHER_LDFLAGS = $(inherited) -framework "rustlib" 9 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 10 | PODS_BUILD_DIR = ${BUILD_DIR} 11 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 12 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 13 | PODS_ROOT = ${SRCROOT}/Pods 14 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 16 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | Generated by CocoaPods - https://cocoapods.org 4 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Generated by CocoaPods - https://cocoapods.org 18 | Title 19 | 20 | Type 21 | PSGroupSpecifier 22 | 23 | 24 | StringsTable 25 | Acknowledgements 26 | Title 27 | Acknowledgements 28 | 29 | 30 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_rustlib_Tests : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_rustlib_Tests 5 | @end 6 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_rustlib_TestsVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_rustlib_TestsVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" "rustlib/Classes/*.h" 5 | OTHER_LDFLAGS = $(inherited) -framework "rustlib" 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 12 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_rustlib_Tests { 2 | umbrella header "Pods-rustlib_Tests-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/Pods-rustlib_Tests/Pods-rustlib_Tests.release.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/rustlib/rustlib.framework/Headers" "rustlib/Classes/*.h" 5 | OTHER_LDFLAGS = $(inherited) -framework "rustlib" 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 12 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/rustlib/rustlib-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/rustlib/rustlib-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_rustlib : NSObject 3 | @end 4 | @implementation PodsDummy_rustlib 5 | @end 6 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/rustlib/rustlib-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/rustlib/rustlib-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double rustlibVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char rustlibVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/rustlib/rustlib.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CODE_SIGN_IDENTITY = 3 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/rustlib 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "rustlib/Classes/*.h" 6 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift 7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_ROOT = ${SRCROOT} 11 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. 12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 13 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 14 | SKIP_INSTALL = YES 15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 16 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/rustlib/rustlib.modulemap: -------------------------------------------------------------------------------- 1 | framework module rustlib { 2 | umbrella header "rustlib-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Pods/Target Support Files/rustlib/rustlib.release.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CODE_SIGN_IDENTITY = 3 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/rustlib 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "rustlib/Classes/*.h" 6 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift 7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_ROOT = ${SRCROOT} 11 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. 12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 13 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 14 | SKIP_INSTALL = YES 15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 16 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/Tests/Tests.swift: -------------------------------------------------------------------------------- 1 | import XCTest 2 | import rustlib 3 | 4 | class Tests: XCTestCase { 5 | 6 | override func setUp() { 7 | super.setUp() 8 | // Put setup code here. This method is called before the invocation of each test method in the class. 9 | } 10 | 11 | override func tearDown() { 12 | // Put teardown code here. This method is called after the invocation of each test method in the class. 13 | super.tearDown() 14 | } 15 | 16 | func testExample() { 17 | // This is an example of a functional test case. 18 | XCTAssert(true, "Pass") 19 | } 20 | 21 | func testPerformanceExample() { 22 | // This is an example of a performance test case. 23 | self.measure() { 24 | // Put the code you want to measure the time of here. 25 | } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/rustlib.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/rustlib.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/rustlib.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/rustlib/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ios-marketing", 45 | "size" : "1024x1024", 46 | "scale" : "1x" 47 | } 48 | ], 49 | "info" : { 50 | "version" : 1, 51 | "author" : "xcode" 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/Example/rustlib/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // rustlib 4 | // 5 | // Created by sidney.wang on 02/18/2022. 6 | // Copyright (c) 2022 sidney.wang. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | // Do any additional setup after loading the view, typically from a nib. 16 | } 17 | 18 | override func didReceiveMemoryWarning() { 19 | super.didReceiveMemoryWarning() 20 | // Dispose of any resources that can be recreated. 21 | } 22 | 23 | } 24 | 25 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2022 sidney.wang 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/README.md: -------------------------------------------------------------------------------- 1 | # rustlib 2 | 3 | [![CI Status](https://img.shields.io/travis/sidney.wang/rustlib.svg?style=flat)](https://travis-ci.org/sidney.wang/rustlib) 4 | [![Version](https://img.shields.io/cocoapods/v/rustlib.svg?style=flat)](https://cocoapods.org/pods/rustlib) 5 | [![License](https://img.shields.io/cocoapods/l/rustlib.svg?style=flat)](https://cocoapods.org/pods/rustlib) 6 | [![Platform](https://img.shields.io/cocoapods/p/rustlib.svg?style=flat)](https://cocoapods.org/pods/rustlib) 7 | 8 | ## Example 9 | 10 | To run the example project, clone the repo, and run `pod install` from the Example directory first. 11 | 12 | ## Requirements 13 | 14 | ## Installation 15 | 16 | rustlib is available through [CocoaPods](https://cocoapods.org). To install 17 | it, simply add the following line to your Podfile: 18 | 19 | ```ruby 20 | pod 'rustlib' 21 | ``` 22 | 23 | ## Author 24 | 25 | sidney.wang, sidney.wang@foxmail.com 26 | 27 | ## License 28 | 29 | rustlib is available under the MIT license. See the LICENSE file for more info. 30 | -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/rustlib/Assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/toolchain/rsbind/template/template-mac/rustlib/Assets/.gitkeep -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/rustlib/Classes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afoxer-com/rsbind/a000e8a0cea2c05ea20e907cfd2f583547f9d0a4/toolchain/rsbind/template/template-mac/rustlib/Classes/.gitkeep -------------------------------------------------------------------------------- /toolchain/rsbind/template/template-mac/rustlib/Classes/SynchronizedClosure.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SynchronizedClosure.swift 3 | // DocsSDK 4 | // 5 | // Created by zenghao on 2018/8/19. 6 | // 7 | 8 | import Foundation 9 | 10 | let sema = DispatchSemaphore(value: 1) 11 | 12 | func synchronized(_ closure: () -> ()) { 13 | sema.wait() 14 | closure() 15 | sema.signal() 16 | } 17 | --------------------------------------------------------------------------------