projects
/
vg.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f4c5902
)
support zig cc
author
hgn
<hgodden00@gmail.com>
Wed, 20 Dec 2023 06:52:54 +0000
(06:52 +0000)
committer
hgn
<hgodden00@gmail.com>
Wed, 20 Dec 2023 06:52:54 +0000
(06:52 +0000)
vg_build.h
patch
|
blob
|
history
diff --git
a/vg_build.h
b/vg_build.h
index f7a641ec2d13a5f573a5735b5e77ed31058c2bf0..f1b14350b9a5f2969fa64e8bf08ebd231a3767aa 100644
(file)
--- a/
vg_build.h
+++ b/
vg_build.h
@@
-33,6
+33,7
@@
struct compiler_info
k_compiler_clang,
k_compiler_gcc,
k_compiler_mingw,
k_compiler_clang,
k_compiler_gcc,
k_compiler_mingw,
+ k_compiler_zigcc,
k_compiler_none
}
compiler;
k_compiler_none
}
compiler;
@@
-80,8
+81,9
@@
void vg_build_include( const char *inc )
const char *vg_compiler_str(void)
{
const char *vg_compiler_str(void)
{
- return (const char *[]){ "clang", "gcc", "i686-w64-mingw32-gcc", "none" }
- [vg_compiler.compiler];
+ return (const char *[])
+ { "clang", "gcc", "i686-w64-mingw32-gcc", "zig", "none" }
+ [vg_compiler.compiler];
}
void vg_build_start( const char *name, enum compiler compiler )
}
void vg_build_start( const char *name, enum compiler compiler )
@@
-105,12
+107,16
@@
void vg_build_start( const char *name, enum compiler compiler )
vg_build_syscall( "mkdir -p %s", vg_compiler.build_dir );
vg_build_include( "-I. -I./vg " );
vg_build_library_dir( "-L. " );
vg_build_syscall( "mkdir -p %s", vg_compiler.build_dir );
vg_build_include( "-I. -I./vg " );
vg_build_library_dir( "-L. " );
+
+ if( vg_compiler.compiler == k_compiler_zigcc )
+ vg_build_library_dir( "-L/usr/lib " );
}
void vg_build_add_link_for_graphics(void)
{
if( (vg_compiler.compiler == k_compiler_gcc) ||
}
void vg_build_add_link_for_graphics(void)
{
if( (vg_compiler.compiler == k_compiler_gcc) ||
- (vg_compiler.compiler == k_compiler_clang ) )
+ (vg_compiler.compiler == k_compiler_clang ) ||
+ (vg_compiler.compiler == k_compiler_zigcc) )
{
vg_build_link( "-lSDL2 -lGL -lX11 -lXxf86vm -lXrandr -lXi -ldl " );
}
{
vg_build_link( "-lSDL2 -lGL -lX11 -lXxf86vm -lXrandr -lXi -ldl " );
}
@@
-141,7
+147,8
@@
void vg_build_add_link_for_graphics(void)
void vg_build_add_link_for_game(void)
{
if( (vg_compiler.compiler == k_compiler_gcc) ||
void vg_build_add_link_for_game(void)
{
if( (vg_compiler.compiler == k_compiler_gcc) ||
- (vg_compiler.compiler == k_compiler_clang ) )
+ (vg_compiler.compiler == k_compiler_clang ) ||
+ (vg_compiler.compiler == k_compiler_zigcc) )
{
vg_build_link( "-lsteam_api " );
}
{
vg_build_link( "-lsteam_api " );
}
@@
-185,7
+192,8
@@
void vg_build_copy_game_dependencies(void)
"vg/submodules/SDL_GameControllerDB/gamecontrollerdb.txt" );
if( (vg_compiler.compiler == k_compiler_gcc) ||
"vg/submodules/SDL_GameControllerDB/gamecontrollerdb.txt" );
if( (vg_compiler.compiler == k_compiler_gcc) ||
- (vg_compiler.compiler == k_compiler_clang) )
+ (vg_compiler.compiler == k_compiler_clang) ||
+ (vg_compiler.compiler == k_compiler_zigcc) )
{
vg_build_bin_dependency_file( "vg/dep/steam/libsteam_api.so" );
}
{
vg_build_bin_dependency_file( "vg/dep/steam/libsteam_api.so" );
}
@@
-217,6
+225,7
@@
void vg_build(void)
/* Compiler */
strcat( cmd, "ccache " );
strcat( cmd, vg_compiler_str() );
/* Compiler */
strcat( cmd, "ccache " );
strcat( cmd, vg_compiler_str() );
+ strcat( cmd, " cc" );
strcat( cmd, " -std=gnu99 -D_REENTRANT \\\n" );
/* Debugging information */
strcat( cmd, " -std=gnu99 -D_REENTRANT \\\n" );
/* Debugging information */
@@
-225,7
+234,8
@@
void vg_build(void)
strcat( cmd, " -O0 -ggdb3 -fno-omit-frame-pointer " );
if( (vg_compiler.compiler == k_compiler_gcc) ||
strcat( cmd, " -O0 -ggdb3 -fno-omit-frame-pointer " );
if( (vg_compiler.compiler == k_compiler_gcc) ||
- (vg_compiler.compiler == k_compiler_clang ) )
+ (vg_compiler.compiler == k_compiler_clang ) ||
+ (vg_compiler.compiler == k_compiler_zigcc) )
{
strcat( cmd, "-rdynamic -fsanitize=address "
"-fPIE -fstack-protector-strong " );
{
strcat( cmd, "-rdynamic -fsanitize=address "
"-fPIE -fstack-protector-strong " );
@@
-285,5
+295,9
@@
void vg_build(void)
strcat( cmd, " -Wl,-rpath=./" );
strcat( cmd, " -Wl,-rpath=./" );
+ if( vg_compiler.compiler == k_compiler_zigcc ){
+ strcat( cmd, " -target native-native-gnu.2.23" );
+ }
+
vg_build_syscall( cmd );
}
vg_build_syscall( cmd );
}