File tree Expand file tree Collapse file tree 4 files changed +9
-14
lines changed Expand file tree Collapse file tree 4 files changed +9
-14
lines changed Original file line number Diff line number Diff line change @@ -15,10 +15,7 @@ let package = Package(
1515 " JavaScriptKit " ,
1616 . product( name: " dlmalloc " , package : " swift-dlmalloc " )
1717 ] ,
18- cSettings: [
19- . unsafeFlags( [ " -fdeclspec " ] ) ,
20- . define( " __Embedded " ) ,
21- ] ,
18+ cSettings: [ . unsafeFlags( [ " -fdeclspec " ] ) ] ,
2219 swiftSettings: [
2320 . enableExperimentalFeature( " Embedded " ) ,
2421 . enableExperimentalFeature( " Extern " ) ,
Original file line number Diff line number Diff line change @@ -19,8 +19,7 @@ let package = Package(
1919 dependencies: [ " _CJavaScriptKit " ] ,
2020 resources: shouldBuildForEmbedded ? [ ] : [ . copy( " Runtime " ) ] ,
2121 cSettings: shouldBuildForEmbedded ? [
22- . unsafeFlags( [ " -fdeclspec " ] ) ,
23- . define( " __Embedded " ) ,
22+ . unsafeFlags( [ " -fdeclspec " ] )
2423 ] : nil ,
2524 swiftSettings: shouldBuildForEmbedded
2625 ? [
@@ -29,10 +28,7 @@ let package = Package(
2928 . unsafeFlags( [ " -Xfrontend " , " -emit-empty-object-file " ] )
3029 ] : nil ,
3130 ) ,
32- . target(
33- name: " _CJavaScriptKit " ,
34- cSettings: shouldBuildForEmbedded ? [ . define( " __Embedded " ) ] : nil
35- ) ,
31+ . target( name: " _CJavaScriptKit " ) ,
3632 . target(
3733 name: " JavaScriptBigIntSupport " ,
3834 dependencies: [ " _CJavaScriptBigIntSupport " , " JavaScriptKit " ]
Original file line number Diff line number Diff line change 11#include "_CJavaScriptKit.h"
22#if __wasm32__
3- #if __Embedded
3+ #ifndef __wasi__
44#if __has_include ("malloc.h" )
55#include <malloc.h>
66#endif
@@ -31,8 +31,10 @@ void swjs_cleanup_host_function_call(void *argv_buffer) {
3131 free (argv_buffer );
3232}
3333
34- #ifndef __Embedded
35- // cdecls don't work in Embedded, also @_expose(wasm) can be used with Swift >=6.0
34+ // NOTE: This __wasi__ check is a hack for Embedded compatibility (assuming that if __wasi__ is defined, we are not building for Embedded)
35+ // cdecls don't work in Embedded, but @_expose(wasm) can be used with Swift >=6.0
36+ // the previously used `#if __Embedded` did not play well with SwiftPM (defines needed to be on every target up the chain)
37+ #ifdef __wasi__
3638bool _call_host_function_impl (const JavaScriptHostFuncRef host_func_ref ,
3739 const RawJSValue * argv , const int argc ,
3840 const JavaScriptObjectRef callback_func );
Original file line number Diff line number Diff line change 11#ifndef _CJavaScriptKit_h
22#define _CJavaScriptKit_h
33
4- #if __Embedded
4+ #ifndef __wasi__
55#include <stddef.h>
66#else
77#include <stdlib.h>
You can’t perform that action at this time.
0 commit comments