Skip to content

Commit

Permalink
Well.... it runs. But it's not including main. But we dont need that …
Browse files Browse the repository at this point in the history
…for IKVM.
  • Loading branch information
wasabii committed Dec 29, 2024
1 parent fce39f1 commit 735da87
Show file tree
Hide file tree
Showing 6 changed files with 143 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,6 @@
<ItemGroup>
<Compile Include="main.c" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetIdentifier)' == 'browser-wasm' ">
<Dependencies Include="compiler_rt" />
<AdditionalLinkOptions Include="-Wl,--no-entry" />
<AdditionalLinkOptions Include="-Wl,-mllvm,-enable-emscripten-sjlj" />
</ItemGroup>
<Import Sdk="IKVM.Clang.Sdk" Project="Sdk.targets" />
<Import Project="..\lib.targets" />
</Project>
16 changes: 1 addition & 15 deletions src/IKVM.Clang.Sdk.Tests/Project/Executable/main.c
Original file line number Diff line number Diff line change
@@ -1,19 +1,5 @@
#ifdef STATICHELLO
#include <statichello1.h>
#else
#include <hello1.h>
#endif

int main() {
#ifdef STATICHELLO
statichello1();
#else
int main(int argc, char* argv[]) {
hello1();
#endif
}

#ifdef EMSCRIPTEN
int exit() {
return 0;
}
#endif
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
</PropertyGroup>
<PropertyGroup>
<OutputType>Dll</OutputType>
<OutputType Condition=" '$(TargetIdentifier)' == 'browser-wasm' ">lib</OutputType>
<Verbose>true</Verbose>
</PropertyGroup>
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
</PropertyGroup>
<PropertyGroup>
<OutputType>Dll</OutputType>
<OutputType Condition=" '$(TargetIdentifier)' == 'browser-wasm' ">lib</OutputType>
<Verbose>true</Verbose>
</PropertyGroup>
<ItemGroup>
Expand Down
143 changes: 139 additions & 4 deletions src/IKVM.Clang.Sdk.Tests/Project/lib.props
Original file line number Diff line number Diff line change
Expand Up @@ -105,12 +105,147 @@
</ItemGroup>

<ItemGroup Condition=" '$(TargetIdentifier)' == 'browser-wasm' ">
<SystemRootDirectories Include="$(EMSDK)\upstream\emscripten\cache\sysroot" />
<SystemIncludeDirectories Include="$(EMSDK)\upstream\emscripten\cache\sysroot\include\fakesdl" />
<SystemIncludeDirectories Include="$(EMSDK)\upstream\emscripten\cache\sysroot\include\compat" />
<SystemIncludeDirectories Include="$(EMSDK)\upstream\emscripten\cache\sysroot\include" />
<LibraryDirectories Include="$(EMSDK)\upstream\emscripten\cache\sysroot\lib" />
<LibraryDirectories Include="$(EMSDK)\upstream\emscripten\cache\sysroot\lib\wasm32-emscripten" />
<LibraryDirectories Include="$(EMSDK)\upstream\emscripten\cache\sysroot\lib\wasm32-emscripten\pic" />
<PreprocessorDefinitions Include="EMSCRIPTEN" />
<!--<Dependencies Include="embind" />-->
<AdditionalCompileOptions Include="-fvisibility=default " />
<AdditionalCompileOptions Include="-fPIC" />
<AdditionalCompileOptions Include="-fignore-exceptions" />
<AdditionalCompileOptions Include="-mno-bulk-memory" />
<AdditionalCompileOptions Include="-mno-bulk-memory-opt" />
<AdditionalCompileOptions Include="-mno-nontrapping-fptoint" />
<AdditionalCompileOptions Include="-mllvm" Separator=" " Value="--combiner-global-alias-analysis=false" />
<AdditionalCompileOptions Include="-mllvm" Separator=" " Value="--enable-emscripten-sjlj" />
<AdditionalCompileOptions Include="-mllvm" Separator=" " Value="--disable-lsr" />
<AdditionalCompileOptions Include="-Werror" Value="implicit-function-declaration" />
<AdditionalCompileOptions Include="-Xclang" Separator=" " Value="-iwithsysroot/include/fakesdl" />
<AdditionalCompileOptions Include="-Xclang" Separator=" " Value="-iwithsysroot/include/compat" />
</ItemGroup>

<ItemGroup Condition=" '$(TargetIdentifier)' == 'browser-wasm' And '$(OutputType)' == 'exe' ">
<Dependencies Include="GL-getprocaddr" />
<Dependencies Include="al" />
<Dependencies Include="html5" />
<Dependencies Include="standalonewasm-nocatch" />
<Dependencies Include="stubs-debug" />
<Dependencies Include="c-debug" />
<Dependencies Include="dlmalloc" />
<Dependencies Include="compiler_rt" />
<Dependencies Include="c++-noexcept" />
<Dependencies Include="c++abi-debug-noexcept" />
<Dependencies Include="sockets" />
<AdditionalLinkOptions Include="-nostdlib" />
<AdditionalLinkOptions Include="-Wl,$(EMSDK)\upstream\emscripten\cache\sysroot\lib\wasm32-emscripten\pic\crt1.o" />
<AdditionalLinkOptions Include="-Wl,-v" />
<AdditionalLinkOptions Include="-Wl,-mllvm,--combiner-global-alias-analysis=false" />
<AdditionalLinkOptions Include="-Wl,-mllvm,--enable-emscripten-sjlj" />
<AdditionalLinkOptions Include="-Wl,-mllvm,--disable-lsr" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=setThrew" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=_emscripten_stack_restore" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=emscripten_stack_get_current" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=calloc" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=_emscripten_stack_alloc" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=_emscripten_tempret_get" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=_emscripten_tempret_set" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=strerror" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=htons" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=ntohs" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=malloc" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=htonl" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=_emscripten_timeout" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=emscripten_stack_get_base" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=emscripten_stack_get_end" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=free" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__cxa_can_catch" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__cxa_increment_exception_refcount" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__cxa_get_exception_ptr" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__cxa_decrement_exception_refcount" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=fileno" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=emscripten_builtin_memalign" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__dl_seterr" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=memcmp" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=memcpy" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=realloc" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__errno_location" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__cxa_demangle" />
<AdditionalLinkOptions Include="-Wl,--import-memory" />
<AdditionalLinkOptions Include="-Wl,--strip-debug" />
<AdditionalLinkOptions Include="-Wl,--export=emscripten_stack_get_end" />
<AdditionalLinkOptions Include="-Wl,--export=emscripten_stack_get_free" />
<AdditionalLinkOptions Include="-Wl,--export=emscripten_stack_get_base" />
<AdditionalLinkOptions Include="-Wl,--export=emscripten_stack_get_current" />
<AdditionalLinkOptions Include="-Wl,--export=emscripten_stack_set_limits" />
<AdditionalLinkOptions Include="-Wl,--export=setThrew" />
<AdditionalLinkOptions Include="-Wl,--export=_emscripten_stack_restore" />
<AdditionalLinkOptions Include="-Wl,--export=calloc" />
<AdditionalLinkOptions Include="-Wl,--export=_emscripten_stack_alloc" />
<AdditionalLinkOptions Include="-Wl,--export=_emscripten_tempret_get" />
<AdditionalLinkOptions Include="-Wl,--export=_emscripten_tempret_set" />
<AdditionalLinkOptions Include="-Wl,--export=strerror" />
<AdditionalLinkOptions Include="-Wl,--export=htons" />
<AdditionalLinkOptions Include="-Wl,--export=ntohs" />
<AdditionalLinkOptions Include="-Wl,--export=malloc" />
<AdditionalLinkOptions Include="-Wl,--export=htonl" />
<AdditionalLinkOptions Include="-Wl,--export=_emscripten_timeout" />
<AdditionalLinkOptions Include="-Wl,--export=free" />
<AdditionalLinkOptions Include="-Wl,--export=__cxa_can_catch" />
<AdditionalLinkOptions Include="-Wl,--export=__cxa_increment_exception_refcount" />
<AdditionalLinkOptions Include="-Wl,--export=__cxa_get_exception_ptr" />
<AdditionalLinkOptions Include="-Wl,--export=__cxa_decrement_exception_refcount" />
<AdditionalLinkOptions Include="-Wl,--export=fileno" />
<AdditionalLinkOptions Include="-Wl,--export=emscripten_builtin_memalign" />
<AdditionalLinkOptions Include="-Wl,--export=__dl_seterr" />
<AdditionalLinkOptions Include="-Wl,--export=memcmp" />
<AdditionalLinkOptions Include="-Wl,--export=memcpy" />
<AdditionalLinkOptions Include="-Wl,--export=realloc" />
<AdditionalLinkOptions Include="-Wl,--export=__errno_location" />
<AdditionalLinkOptions Include="-Wl,--export=__cxa_demangle" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__start_em_asm" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__stop_em_asm" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__start_em_lib_deps" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__stop_em_lib_deps" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__start_em_js" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__stop_em_js" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__wasm_apply_data_relocs" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__memory_base" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__stack_pointer" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__table_base" />
<AdditionalLinkOptions Include="-Wl,--experimental-pic " />
<AdditionalLinkOptions Include="-Wl,--unresolved-symbols=import-dynamic" />
<AdditionalLinkOptions Include="-Wl,--no-shlib-sigcheck" />
<AdditionalLinkOptions Include="-Wl,-pie" />
<AdditionalLinkOptions Include="-Wl,--no-export-dynamic" />
<AdditionalLinkOptions Include="-Wl,-z,stack-size=65536" />
<AdditionalLinkOptions Include="-Wl,--initial-memory=16777216" />
<AdditionalLinkOptions Include="-Wl,--stack-first" />
</ItemGroup>

<ItemGroup Condition=" '$(TargetIdentifier)' == 'browser-wasm' And '$(OutputType)' == 'dll' ">
<AdditionalLinkOptions Include="-nostdlib" />
<AdditionalLinkOptions Include="-Wl,-mllvm,--combiner-global-alias-analysis=false" />
<AdditionalLinkOptions Include="-Wl,-mllvm,--enable-emscripten-sjlj" />
<AdditionalLinkOptions Include="-Wl,-mllvm,--disable-lsr" />
<AdditionalLinkOptions Include="-Wl,--import-memory" />
<AdditionalLinkOptions Include="-Wl,--strip-debug" />
<AdditionalLinkOptions Include="-Wl,--export-dynamic" />
<AdditionalLinkOptions Include="-Wl,--export=__wasm_call_ctors" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__start_em_asm" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__stop_em_asm" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__start_em_lib_deps" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__stop_em_lib_deps" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__start_em_js" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__stop_em_js" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=main" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__main_argc_argv" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=__wasm_apply_data_relocs" />
<AdditionalLinkOptions Include="-Wl,--export-if-defined=fflush" />
<AdditionalLinkOptions Include="-Wl,--experimental-pic" />
<AdditionalLinkOptions Include="-Wl,--unresolved-symbols=import-dynamic" />
<AdditionalLinkOptions Include="-Wl,--no-shlib-sigcheck" />
<AdditionalLinkOptions Include="-Wl,--stack-first" />
<AdditionalLinkOptions Include="-Wl,--no-entry" />
</ItemGroup>

<PropertyGroup Condition="$(TargetIdentifier.StartsWith('linux-'))">
Expand Down
6 changes: 3 additions & 3 deletions src/IKVM.Clang.Sdk/targets/IKVM.Clang.Core.targets
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
<ExecutableExt Condition=" '$(ExecutableExt)' == '' And $(TargetTriple.Contains('-windows-'))">.dll</ExecutableExt>
<ExecutableExt Condition=" '$(ExecutableExt)' == '' And $(TargetTriple.Contains('-linux-'))">.so</ExecutableExt>
<ExecutableExt Condition=" '$(ExecutableExt)' == '' And $(TargetTriple.Contains('-apple-'))">.dylib</ExecutableExt>
<ExecutableExt Condition=" '$(ExecutableExt)' == '' And $(TargetTriple.Contains('wasm32'))">.wasm</ExecutableExt>
<ExecutableExt Condition=" '$(ExecutableExt)' == '' And $(TargetTriple.Contains('wasm32'))">.so</ExecutableExt>
<ExecutableFileName Condition=" '$(ExecutableFileName)' == '' ">$(ExecutablePrefix)$(TargetName)$(ExecutableExt)</ExecutableFileName>
<ExecutableIntermediateOutputPath Condition=" '$(ExecutableFileName)' != '' ">$(IntermediateOutputPath)$(ExecutableFileName)</ExecutableIntermediateOutputPath>
<LibraryPrefix Condition=" '$(LibraryPrefix)' == '' And $(TargetTriple.Contains('-linux-')) ">lib</LibraryPrefix>
Expand All @@ -57,7 +57,7 @@
<LibraryExt Condition=" '$(LibraryExt)' == '' And $(TargetTriple.Contains('-windows-')) ">.lib</LibraryExt>
<LibraryExt Condition=" '$(LibraryExt)' == '' And $(TargetTriple.Contains('-linux-')) ">.so</LibraryExt>
<LibraryExt Condition=" '$(LibraryExt)' == '' And $(TargetTriple.Contains('-apple-')) ">.dylib</LibraryExt>
<LibraryExt Condition=" '$(LibraryExt)' == '' And $(TargetTriple.Contains('wasm32')) ">.wasm</LibraryExt>
<LibraryExt Condition=" '$(LibraryExt)' == '' And $(TargetTriple.Contains('wasm32')) ">.so</LibraryExt>
<LibraryFileName Condition=" '$(LibraryFileName)' == '' ">$(LibraryPrefix)$(TargetName)$(LibraryExt)</LibraryFileName>
<LibraryIntermediateOutputPath Condition=" '$(LibraryFileName)' != '' ">$(IntermediateOutputPath)$(LibraryFileName)</LibraryIntermediateOutputPath>
<DebugSymbolsPrefix Condition=" '$(DebugSymbolsPrefix)' == '' And $(TargetTriple.Contains('-linux-')) ">lib</DebugSymbolsPrefix>
Expand Down Expand Up @@ -514,7 +514,7 @@
<_Args Include="@(Compile->'%(ObjectPath)')" />
</ItemGroup>

<ClangExe ToolExe="$(LlvmArToolExe)" Arguments="@(_Args)" />
<LlvmArExe ToolExe="$(LlvmArToolExe)" Arguments="@(_Args)" />

<ItemGroup>
<FileWrites Include="$(LibraryIntermediateOutputPath)" />
Expand Down

0 comments on commit 735da87

Please sign in to comment.