parent
7fd164f196
commit
41b588547c
|
@ -352,9 +352,14 @@ else()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(EXE_LDFLAGS " ")
|
set(EXE_LDFLAGS " ")
|
||||||
|
if(MINGW)
|
||||||
|
set(EXE_LDFLAGS "-static -static-libgcc -static-libstdc++")
|
||||||
|
else()
|
||||||
|
set(EXE_LDFLAGS " ")
|
||||||
|
endif()
|
||||||
if(ZIG_TEST_COVERAGE)
|
if(ZIG_TEST_COVERAGE)
|
||||||
set(EXE_CFLAGS "${EXE_CFLAGS} -fprofile-arcs -ftest-coverage")
|
set(EXE_CFLAGS "${EXE_CFLAGS} -fprofile-arcs -ftest-coverage")
|
||||||
set(EXE_LDFLAGS "-fprofile-arcs -ftest-coverage")
|
set(EXE_LDFLAGS "${EXE_LDFLAGS} -fprofile-arcs -ftest-coverage")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable(zig ${ZIG_SOURCES})
|
add_executable(zig ${ZIG_SOURCES})
|
||||||
|
|
|
@ -80,32 +80,51 @@ else()
|
||||||
"c:/msys64/mingw64/bin"
|
"c:/msys64/mingw64/bin"
|
||||||
"C:/Libraries/llvm-5.0.0/bin")
|
"C:/Libraries/llvm-5.0.0/bin")
|
||||||
|
|
||||||
execute_process(
|
if(NOT(CMAKE_BUILD_TYPE STREQUAL "Debug"))
|
||||||
COMMAND ${LLVM_CONFIG_EXE} --libs
|
execute_process(
|
||||||
OUTPUT_VARIABLE LLVM_LIBRARIES
|
COMMAND ${LLVM_CONFIG_EXE} --libfiles --link-static
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_VARIABLE LLVM_LIBRARIES_SPACES
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
string(REPLACE " " ";" LLVM_LIBRARIES "${LLVM_LIBRARIES_SPACES}")
|
||||||
|
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${LLVM_CONFIG_EXE} --system-libs
|
COMMAND ${LLVM_CONFIG_EXE} --system-libs --link-static
|
||||||
OUTPUT_VARIABLE LLVM_SYSTEM_LIBS
|
OUTPUT_VARIABLE LLVM_SYSTEM_LIBS_SPACES
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
string(REPLACE " " ";" LLVM_SYSTEM_LIBS "${LLVM_SYSTEM_LIBS_SPACES}")
|
||||||
|
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${LLVM_CONFIG_EXE} --libdir
|
COMMAND ${LLVM_CONFIG_EXE} --libdir --link-static
|
||||||
OUTPUT_VARIABLE LLVM_LIBDIRS
|
OUTPUT_VARIABLE LLVM_LIBDIRS_SPACES
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
string(REPLACE " " ";" LLVM_LIBDIRS "${LLVM_LIBDIRS_SPACES}")
|
||||||
|
endif()
|
||||||
|
if(NOT LLVM_LIBRARIES)
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${LLVM_CONFIG_EXE} --libs
|
||||||
|
OUTPUT_VARIABLE LLVM_LIBRARIES
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${LLVM_CONFIG_EXE} --system-libs
|
||||||
|
OUTPUT_VARIABLE LLVM_SYSTEM_LIBS
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${LLVM_CONFIG_EXE} --libdir
|
||||||
|
OUTPUT_VARIABLE LLVM_LIBDIRS
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
endif()
|
||||||
|
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${LLVM_CONFIG_EXE} --includedir
|
COMMAND ${LLVM_CONFIG_EXE} --includedir
|
||||||
OUTPUT_VARIABLE LLVM_INCLUDE_DIRS
|
OUTPUT_VARIABLE LLVM_INCLUDE_DIRS
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
|
||||||
find_library(LLVM_LIBRARY NAMES LLVM)
|
|
||||||
|
|
||||||
set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS})
|
set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS})
|
||||||
|
|
||||||
if(LLVM_LIBRARY AND NOT LLVM_LIBRARIES)
|
if(NOT LLVM_LIBRARIES)
|
||||||
set(LLVM_LIBRARIES ${LLVM_LIBRARY})
|
find_library(LLVM_LIBRARIES NAMES LLVM LLVM-5.0 LLVM-5)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
link_directories("${CMAKE_PREFIX_PATH}/lib")
|
link_directories("${CMAKE_PREFIX_PATH}/lib")
|
||||||
|
|
|
@ -3189,6 +3189,8 @@ ImportTableEntry *add_source_file(CodeGen *g, PackageTableEntry *package, Buf *a
|
||||||
if (is_pub) {
|
if (is_pub) {
|
||||||
if (buf_eql_str(proto_name, "main")) {
|
if (buf_eql_str(proto_name, "main")) {
|
||||||
g->have_pub_main = true;
|
g->have_pub_main = true;
|
||||||
|
g->windows_subsystem_windows = false;
|
||||||
|
g->windows_subsystem_console = true;
|
||||||
} else if (buf_eql_str(proto_name, "panic")) {
|
} else if (buf_eql_str(proto_name, "panic")) {
|
||||||
g->have_pub_panic = true;
|
g->have_pub_panic = true;
|
||||||
}
|
}
|
||||||
|
@ -3196,6 +3198,8 @@ ImportTableEntry *add_source_file(CodeGen *g, PackageTableEntry *package, Buf *a
|
||||||
g->libc_link_lib != nullptr)
|
g->libc_link_lib != nullptr)
|
||||||
{
|
{
|
||||||
g->have_c_main = true;
|
g->have_c_main = true;
|
||||||
|
g->windows_subsystem_windows = false;
|
||||||
|
g->windows_subsystem_console = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,7 +81,7 @@ bool os_is_sep(uint8_t c);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(ZIG_OS_WINDOWS)
|
#if defined(ZIG_OS_WINDOWS)
|
||||||
#define ZIG_PRI_usize "Iu"
|
#define ZIG_PRI_usize "I64u"
|
||||||
#define ZIG_PRI_u64 "I64u"
|
#define ZIG_PRI_u64 "I64u"
|
||||||
#define ZIG_PRI_llu "I64u"
|
#define ZIG_PRI_llu "I64u"
|
||||||
#define ZIG_PRI_x64 "I64x"
|
#define ZIG_PRI_x64 "I64x"
|
||||||
|
|
Loading…
Reference in New Issue