xmake-io / xmake

🔥 A cross-platform build utility based on Lua
https://xmake.io
Apache License 2.0
9.98k stars 780 forks source link

Unable to build working `xmake` from source on Windows #222

Closed rivy closed 6 years ago

rivy commented 6 years ago

When compiling from source, the resulting xmake won't run successfully:

C:>core\build\xmake.exe
not found main script: C:\<...>\repo\core\build/core/_xmake_main.lua

Compilation info

C:>ver
Microsoft Windows [Version 10.0.17134.320]

C:>cl
Microsoft (R) C/C++ Optimizing Compiler Version 19.15.26729 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

usage: cl [ option... ] filename... [ /link linkoption... ]

C:>xmake -P core
warning: You are working in the project directory(C:\Users\...\repo\core) and you can also
force to build in current directory via run `xmake -P .`
checking for the architecture ... x64
checking for the Microsoft Visual Studio (x64) version ... 2017
checking for the posix_poll ... no
checking for the posix_getpagesize ... no
checking for the posix_socket ... no
checking for the libc_setlocale ... ok
checking for the posix_pwritev ... no
checking for the libc_kill ... no
checking for the libm_atan2 ... ok
checking for the libc_wcsncat ... ok
checking for the polarssl ... no
checking for the posix_execvp ... no
checking for the posix_fork ... no
checking for the posix_getifaddrs ... no
checking for the libc_strcat ... ok
checking for the libc_wcsstr ... ok
checking for the libm_pow ... ok
checking for the libc_memcpy ... ok
checking for the libm_sqrtf ... ok
checking for the libc_wcsnlen ... ok
checking for the libm_acosf ... ok
checking for the libc_strnlen ... ok
checking for the libc_random ... no
checking for the libc_strncat ... ok
checking for the posix_gethostbyaddr ... no
checking for the libc_wcsncpy ... ok
checking for the systemv_semtimedop ... no
checking for the libm_sinf ... ok
checking for the sqlite3 ... no
checking for the libc_strncasecmp ... no
checking for the libc_strncmp ... ok
checking for the libc_strlcpy ... no
checking for the posix_preadv ... no
checking for the libm_sqrt ... ok
checking for the libc_wcscpy ... ok
checking for the libm_tanf ... ok
checking for the libc_strncpy ... ok
checking for the libc_localtime ... ok
checking for the posix_pread64 ... no
checking for the posix_sysconf ... no
checking for the libc_signal ... ok
checking for the libc_strstr ... ok
checking for the libm_log2f ... ok
checking for the posix_regcomp ... no
checking for the libm_fmodf ... ok
checking for the libc_wcstombs ... ok
checking for the libm_fmod ... ok
checking for the libm_exp ... ok
checking for the wchar ... no
checking for the libc_setjmp ... ok
checking for the curses ... no
checking for the posix_pthread_create ... no
checking for the libc_strcasestr ... no
checking for the libc_mktime ... ok
checking for the posix_posix_spawnp ... no
checking for the libm_acos ... ok
checking for the libc_backtrace ... no
checking for the libm_sincosf ... no
checking for the posix_sched_yield ... no
checking for the libc_wcscmp ... ok
checking for the posix_fdatasync ... no
checking for the posix_dlopen ... no
checking for the posix_regexec ... no
checking for the posix_vfork ... no
checking for the posix_writev ... no
checking for the libc_mbstowcs ... ok
checking for the libc_wcscat ... ok
checking for the openssl ... no
checking for the systemv_semget ... no
checking for the readline ... no
checking for the zlib ... no
checking for the posix_pthread_key_delete ... no
checking for the posix_open ... no
checking for the posix_pthread_key_create ... no
checking for the libc_gmtime ... ok
checking for the libm_atan ... ok
checking for the libc_wcscasecmp ... no
checking for the libc_memmove ... ok
checking for the libm_sincos ... no
checking for the libc_strcmp ... ok
checking for the libc_strcasecmp ... no
checking for the posix_pthread_setspecific ... no
checking for the libc_memset ... ok
checking for the libc_fputs ... ok
checking for the posix_stat64 ... no
checking for the posix_execvpe ... no
checking for the posix_epoll_wait ... no
checking for the libc_strlen ... ok
checking for the libc_wcsncasecmp ... no
checking for the libc_strcpy ... ok
checking for the posix_waitpid ... no
checking for the mysql ... no
checking for the posix_sendfile ... no
checking for the libc_wcslcpy ... no
checking for the libm_atan2f ... ok
checking for the posix_epoll_create ... no
checking for the libc_gettimeofday ... no
checking for the posix_getnameinfo ... no
checking for the posix_sem_init ... no
checking for the libm_cos ... ok
checking for the libc_wcsncmp ... ok
checking for the posix_readv ... no
checking for the libc_wcscasestr ... no
checking for the libm_log2 ... ok
checking for the mbedtls ... no
checking for the pcre2 ... no
checking for the posix_getrlimit ... no
checking for the posix_getdtablesize ... no
checking for the libc_wcslen ... ok
checking for the libc_memcmp ... ok
checking for the libc_sigsetjmp ... no
checking for the libm_tan ... ok
checking for the posix_pthread_mutex_init ... no
checking for the posix_gethostname ... no
checking for the libc_memmem ... no
checking for the libm_powf ... ok
checking for the posix_select ... no
checking for the posix_copyfile ... no
checking for the libm_asin ... ok
checking for the libm_expf ... ok
checking for the libm_cosf ... ok
checking for the posix_opendir ... no
checking for the posix_pwrite64 ... no
checking for the libm_atanf ... ok
checking for the posix_getaddrinfo ... no
checking for the posix_pthread_getspecific ... no
checking for the posix_gethostbyname ... no
checking for the pcre ... no
checking for the libc_srandom ... no
checking for the libm_sin ... ok
checking for the libm_asinf ... ok
[00%]: compiling.release src\luajit\src\lj_tab.c
[00%]: compiling.release src\luajit\src\lj_obj.c
[00%]: compiling.release src\luajit\src\lib_debug.c
[00%]: compiling.release src\luajit\src\lj_load.c
[00%]: compiling.release src\luajit\src\lj_dispatch.c
[01%]: compiling.release src\luajit\src\lj_lib.c
[01%]: compiling.release src\luajit\src\lj_strfmt_num.c
[01%]: compiling.release src\luajit\src\lib_package.c
[01%]: compiling.release src\luajit\src\lib_string.c
[01%]: compiling.release src\luajit\src\lj_lex.c
[02%]: compiling.release src\luajit\src\lj_ctype.c
[02%]: compiling.release src\luajit\src\lj_err.c
[02%]: compiling.release src\luajit\src\lib_math.c
[02%]: compiling.release src\luajit\src\lj_opt_sink.c
[03%]: compiling.release src\luajit\src\lj_trace.c
[03%]: compiling.release src\luajit\src\lj_record.c
[03%]: compiling.release src\luajit\src\lj_char.c
[03%]: compiling.release src\luajit\src\lj_bc.c
[03%]: compiling.release src\luajit\src\lj_opt_narrow.c
[04%]: compiling.release src\luajit\src\lib_io.c
[04%]: compiling.release src\luajit\src\lj_debug.c
[04%]: compiling.release src\luajit\src\lj_gdbjit.c
[04%]: compiling.release src\luajit\src\lj_profile.c
[04%]: compiling.release src\luajit\src\lib_ffi.c
[05%]: compiling.release src\luajit\src\lj_udata.c
[05%]: compiling.release src\luajit\src\lj_alloc.c
[05%]: compiling.release src\luajit\src\lj_bcwrite.c
[05%]: compiling.release src\luajit\src\lj_api.c
[06%]: compiling.release src\luajit\src\lj_str.c
[06%]: compiling.release src\luajit\src\lj_vmevent.c
[06%]: compiling.release src\luajit\src\lib_table.c
[06%]: compiling.release src\luajit\src\lib_base.c
[06%]: compiling.release src\luajit\src\lj_cparse.c
[07%]: compiling.release src\luajit\src\lj_mcode.c
[07%]: compiling.release src\luajit\src\lj_state.c
[07%]: compiling.release src\luajit\src\lj_asm.c
[07%]: compiling.release src\luajit\src\lj_opt_fold.c
[08%]: compiling.release src\luajit\src\lj_ffrecord.c
[08%]: compiling.release src\luajit\src\lj_snap.c
[08%]: compiling.release src\luajit\src\lj_vmmath.c
[08%]: compiling.release src\luajit\src\lj_cdata.c
[08%]: compiling.release src\luajit\src\lj_strfmt.c
[09%]: compiling.release src\luajit\src\lj_opt_loop.c
[09%]: compiling.release src\luajit\src\lj_cconv.c
[09%]: compiling.release src\luajit\src\lj_carith.c
[09%]: compiling.release src\luajit\src\lib_jit.c
[09%]: compiling.release src\luajit\src\lj_buf.c
[10%]: compiling.release src\luajit\src\lib_aux.c
[10%]: compiling.release src\luajit\src\lib_bit.c
[10%]: compiling.release src\luajit\src\lj_func.c
[10%]: compiling.release src\luajit\src\lj_strscan.c
[11%]: compiling.release src\luajit\src\lj_opt_split.c
[11%]: compiling.release src\luajit\src\lj_ccall.c
[11%]: compiling.release src\luajit\src\lj_ir.c
[11%]: compiling.release src\luajit\src\lj_bcread.c
[11%]: compiling.release src\luajit\src\lj_crecord.c
[12%]: compiling.release src\luajit\src\lj_opt_mem.c
[12%]: compiling.release src\luajit\src\lj_ccallback.c
[12%]: compiling.release src\luajit\src\lj_meta.c
[12%]: compiling.release src\luajit\src\lj_parse.c
[12%]: compiling.release src\luajit\src\lj_gc.c
[13%]: compiling.release src\luajit\src\lib_init.c
[13%]: compiling.release src\luajit\src\lib_os.c
[13%]: compiling.release src\luajit\src\lj_clib.c
[13%]: compiling.release src\luajit\src\lj_opt_dce.c
[14%]: inserting.release src\luajit\src\autogen\windows\jit\x64\lj_vm.obj
[14%]: archiving.release luajit.lib
[14%]: compiling.release src\pdcurses\pdcurses\kernel.c
[14%]: compiling.release src\pdcurses\pdcurses\slk.c
[14%]: compiling.release src\pdcurses\pdcurses\addstr.c
[15%]: compiling.release src\pdcurses\pdcurses\scroll.c
[15%]: compiling.release src\pdcurses\win32\pdcclip.c
[15%]: compiling.release src\pdcurses\pdcurses\instr.c
[16%]: compiling.release src\pdcurses\pdcurses\beep.c
[16%]: compiling.release src\pdcurses\pdcurses\inchstr.c
[16%]: compiling.release src\pdcurses\pdcurses\scr_dump.c
[16%]: compiling.release src\pdcurses\pdcurses\inopts.c
[17%]: compiling.release src\pdcurses\pdcurses\window.c
[17%]: compiling.release src\pdcurses\pdcurses\bkgd.c
[17%]: compiling.release src\pdcurses\pdcurses\deprec.c
[18%]: compiling.release src\pdcurses\pdcurses\outopts.c
[18%]: compiling.release src\pdcurses\pdcurses\util.c
[18%]: compiling.release src\pdcurses\pdcurses\refresh.c
[18%]: compiling.release src\pdcurses\pdcurses\deleteln.c
[19%]: compiling.release src\pdcurses\pdcurses\keyname.c
[19%]: compiling.release src\pdcurses\pdcurses\overlay.c
[19%]: compiling.release src\pdcurses\pdcurses\delch.c
[20%]: compiling.release src\pdcurses\pdcurses\initscr.c
[20%]: compiling.release src\pdcurses\pdcurses\clear.c
[20%]: compiling.release src\pdcurses\win32\pdcdisp.c
[20%]: compiling.release src\pdcurses\win32\pdcsetsc.c
[21%]: compiling.release src\pdcurses\win32\pdckbd.c
[21%]: compiling.release src\pdcurses\win32\pdcgetsc.c
[21%]: compiling.release src\pdcurses\pdcurses\getyx.c
[22%]: compiling.release src\pdcurses\pdcurses\mouse.c
[22%]: compiling.release src\pdcurses\pdcurses\border.c
[22%]: compiling.release src\pdcurses\win32\pdcscrn.c
[23%]: compiling.release src\pdcurses\win32\pdcutil.c
[23%]: compiling.release src\pdcurses\pdcurses\touch.c
[23%]: compiling.release src\pdcurses\pdcurses\panel.c
[23%]: compiling.release src\pdcurses\pdcurses\pad.c
[24%]: compiling.release src\pdcurses\pdcurses\terminfo.c
[24%]: compiling.release src\pdcurses\pdcurses\move.c
[24%]: compiling.release src\pdcurses\pdcurses\termattr.c
[25%]: compiling.release src\pdcurses\pdcurses\scanw.c
[25%]: compiling.release src\pdcurses\pdcurses\printw.c
[25%]: compiling.release src\pdcurses\pdcurses\addchstr.c
[25%]: compiling.release src\pdcurses\pdcurses\insstr.c
[26%]: compiling.release src\pdcurses\pdcurses\getch.c
[26%]: compiling.release src\pdcurses\pdcurses\getstr.c
[26%]: compiling.release src\pdcurses\pdcurses\color.c
[27%]: compiling.release src\pdcurses\pdcurses\inch.c
[27%]: compiling.release src\pdcurses\pdcurses\insch.c
[27%]: compiling.release src\pdcurses\pdcurses\addch.c
[27%]: compiling.release src\pdcurses\pdcurses\debug.c
[28%]: compiling.release src\pdcurses\pdcurses\attr.c
[28%]: archiving.release pdcurses.lib
[28%]: compiling.release src\lcurses\lcurses.c
[42%]: archiving.release lcurses.lib
[42%]: compiling.release src\sv\src\id.c
[44%]: compiling.release src\sv\src\version.c
[46%]: compiling.release src\sv\src\utils.c
[48%]: compiling.release src\sv\src\num.c
[51%]: compiling.release src\sv\src\semvers.c
[53%]: compiling.release src\sv\src\comp.c
[55%]: compiling.release src\sv\src\range.c
[57%]: archiving.release sv.lib
[57%]: compiling.release src\tbox\src\tbox\algorithm\remove_first.c
[57%]: compiling.release src\tbox\src\tbox\libm\isnan.c
[57%]: compiling.release src\tbox\src\tbox\hash\crc8.c
[57%]: compiling.release src\tbox\src\tbox\network\impl\http\method.c
[57%]: compiling.release src\tbox\src\tbox\utils\used.c
[57%]: compiling.release src\tbox\src\tbox\hash\adler32.c
[57%]: compiling.release src\tbox\src\tbox\network\impl\network.c
[57%]: compiling.release src\tbox\src\tbox\algorithm\count.c
[57%]: compiling.release src\tbox\src\tbox\libm\isinff.c
[57%]: compiling.release src\tbox\src\tbox\libm\fmodf.c
[57%]: compiling.release src\tbox\src\tbox\libc\string\strnicmp.c
[57%]: compiling.release src\tbox\src\tbox\libc\string\strnirstr.c
[57%]: compiling.release src\tbox\src\tbox\utils\lock_profiler.c
[57%]: compiling.release src\tbox\src\tbox\container\element\long.c
[57%]: compiling.release src\tbox\src\tbox\utils\trace.c
[57%]: compiling.release src\tbox\src\tbox\algorithm\predicate.c
[57%]: compiling.release src\tbox\src\tbox\libc\misc\time\time.c
[57%]: compiling.release src\tbox\src\tbox\container\vector.c
[58%]: compiling.release src\tbox\src\tbox\libc\string\wcsirstr.c
[58%]: compiling.release src\tbox\src\tbox\container\list.c
[58%]: compiling.release src\tbox\src\tbox\libc\stdio\printf.c
[58%]: compiling.release src\tbox\src\tbox\platform\backtrace.c
[58%]: compiling.release src\tbox\src\tbox\stream\impl\stream\data.c
[58%]: compiling.release src\tbox\src\tbox\hash\bkdr.c
[58%]: compiling.release src\tbox\src\tbox\network\hwaddr.c
[58%]: compiling.release src\tbox\src\tbox\libc\string\strncpy.c
[58%]: compiling.release src\tbox\src\tbox\libm\log2.c
[58%]: compiling.release src\tbox\src\tbox\stream\impl\stream\filter.c
[58%]: compiling.release src\tbox\src\tbox\libc\stdio\puts.c
[58%]: compiling.release src\tbox\src\tbox\libc\string\wcscpy.c
[58%]: compiling.release src\tbox\src\tbox\libm\atan.c
[58%]: compiling.release src\tbox\src\tbox\libc\stdio\wputs.c
[58%]: compiling.release src\tbox\src\tbox\platform\cache_time.c
[58%]: compiling.release src\tbox\src\tbox\container\list_entry.c
[58%]: compiling.release src\tbox\src\tbox\stream\filter.c
[58%]: compiling.release src\tbox\src\tbox\libc\string\strchr.c
[58%]: compiling.release src\tbox\src\tbox\libc\string\strnrchr.c
[58%]: compiling.release src\tbox\src\tbox\libc\misc\time\gmtime.c
[59%]: compiling.release src\tbox\src\tbox\stream\stream.c
[59%]: compiling.release src\tbox\src\tbox\container\element\size.c
[59%]: compiling.release src\tbox\src\tbox\platform\windows\interface\interface.c
[59%]: compiling.release src\tbox\src\tbox\libm\expi.c
[59%]: compiling.release src\tbox\src\tbox\platform\process.c
[59%]: compiling.release src\tbox\src\tbox\libm\sinf.c
[59%]: compiling.release src\tbox\src\tbox\network\impl\http\status.c
[59%]: compiling.release src\tbox\src\tbox\libc\string\strdup.c
[59%]: compiling.release src\tbox\src\tbox\algorithm\rfind_if.c
[59%]: compiling.release src\tbox\src\tbox\stream\impl\filter\chunked.c
[59%]: compiling.release src\tbox\src\tbox\platform\page.c
[59%]: compiling.release src\tbox\src\tbox\libm\acos.c
[59%]: compiling.release src\tbox\src\tbox\libm\fmod.c
[59%]: compiling.release src\tbox\src\tbox\platform\ifaddrs.c
[59%]: compiling.release src\tbox\src\tbox\container\single_list.c
[59%]: compiling.release src\tbox\src\tbox\libm\isfin.c
[59%]: compiling.release src\tbox\src\tbox\libc\string\wcsrstr.c
[59%]: compiling.release src\tbox\src\tbox\algorithm\remove_if.c
[59%]: compiling.release src\tbox\src\tbox\memory\fixed_pool.c
[59%]: compiling.release src\tbox\src\tbox\libc\string\wcsndup.c
[60%]: compiling.release src\tbox\src\tbox\libc\string\wcsstr.c
[60%]: compiling.release src\tbox\src\tbox\container\element\mem.c
[60%]: compiling.release src\tbox\src\tbox\container\iterator\size.c
[60%]: compiling.release src\tbox\src\tbox\platform\windows\interface\kernel32.c
[60%]: compiling.release src\tbox\src\tbox\libm\isinf.c
[60%]: compiling.release src\tbox\src\tbox\libm\cos.c
[60%]: compiling.release src\tbox\src\tbox\algorithm\binary_find.c
[60%]: compiling.release src\tbox\src\tbox\platform\processor.c
[60%]: compiling.release src\tbox\src\tbox\container\element\uint8.c
[60%]: compiling.release src\tbox\src\tbox\container\priority_queue.c
[60%]: compiling.release src\tbox\src\tbox\libm\isnanf.c
[60%]: compiling.release src\tbox\src\tbox\platform\dynamic.c
[60%]: compiling.release src\tbox\src\tbox\utils\singleton.c
[60%]: compiling.release src\tbox\src\tbox\container\hash_map.c
[60%]: compiling.release src\tbox\src\tbox\platform\print.c
[60%]: compiling.release src\tbox\src\tbox\hash\md5.c
[60%]: compiling.release src\tbox\src\tbox\container\element\null.c
[60%]: compiling.release src\tbox\src\tbox\libm\isqrti.c
[60%]: compiling.release src\tbox\src\tbox\network\http.c
[60%]: compiling.release src\tbox\src\tbox\hash\murmur.c
[61%]: compiling.release src\tbox\src\tbox\libm\expif.c
[61%]: compiling.release src\tbox\src\tbox\libm\tan.c
[61%]: compiling.release src\tbox\src\tbox\libm\powf.c
[61%]: compiling.release src\tbox\src\tbox\platform\sched.c
[61%]: compiling.release src\tbox\src\tbox\container\element\uint32.c
[61%]: compiling.release src\tbox\src\tbox\algorithm\distance.c
[61%]: compiling.release src\tbox\src\tbox\utils\bits.c
[61%]: compiling.release src\tbox\src\tbox\network\dns\cache.c
[61%]: compiling.release src\tbox\src\tbox\container\stack.c
[61%]: compiling.release src\tbox\src\tbox\libc\stdlib\stdlib.c
[61%]: compiling.release src\tbox\src\tbox\platform\windows\interface\mswsock.c
[61%]: compiling.release src\tbox\src\tbox\algorithm\binary_find_if.c
[61%]: compiling.release src\tbox\src\tbox\network\impl\http\date.c
[61%]: compiling.release src\tbox\src\tbox\libm\ilog2i.c
[61%]: compiling.release src\tbox\src\tbox\stream\impl\stream\http.c
[61%]: compiling.release src\tbox\src\tbox\libc\impl\libc.c
[61%]: compiling.release src\tbox\src\tbox\platform\impl\dns.c
[61%]: compiling.release src\tbox\src\tbox\container\iterator\mem.c
[61%]: compiling.release src\tbox\src\tbox\platform\environment.c
[61%]: compiling.release src\tbox\src\tbox\libc\string\wcscmp.c
[62%]: compiling.release src\tbox\src\tbox\memory\impl\prefix.c
[62%]: compiling.release src\tbox\src\tbox\network\url.c
[62%]: compiling.release src\tbox\src\tbox\libc\string\strnlen.c
[62%]: compiling.release src\tbox\src\tbox\libc\stdio\vsnprintf.c
[62%]: compiling.release src\tbox\src\tbox\libm\asin.c
[62%]: compiling.release src\tbox\src\tbox\libc\string\strncmp.c
[62%]: compiling.release src\tbox\src\tbox\libm\cosf.c
[62%]: compiling.release src\tbox\src\tbox\stream\impl\stream\sock.c
[62%]: compiling.release src\tbox\src\tbox\libc\string\wcslen.c
[62%]: compiling.release src\tbox\src\tbox\libm\sqrt.c
[62%]: compiling.release src\tbox\src\tbox\platform\impl\platform.c
[62%]: compiling.release src\tbox\src\tbox\libc\misc\time\localtime.c
[62%]: compiling.release src\tbox\src\tbox\libm\expf.c
[62%]: compiling.release src\tbox\src\tbox\platform\windows\interface\ws2_32.c
[62%]: compiling.release src\tbox\src\tbox\stream\impl\filter\cache.c
[62%]: compiling.release src\tbox\src\tbox\platform\windows\interface\user32.c
[62%]: compiling.release src\tbox\src\tbox\libm\exp1f.c
[62%]: compiling.release src\tbox\src\tbox\platform\windows\interface\shell32.c
[62%]: compiling.release src\tbox\src\tbox\hash\crc16.c
[62%]: compiling.release src\tbox\src\tbox\platform\windows\interface\ole32.c
[63%]: compiling.release src\tbox\src\tbox\platform\windows\interface\iphlpapi.c
[63%]: compiling.release src\tbox\src\tbox\platform\windows\interface\dbghelp.c
[63%]: compiling.release src\tbox\src\tbox\platform\windows\socket_pool.c
[63%]: compiling.release src\tbox\src\tbox\hash\uuid.c
[63%]: compiling.release src\tbox\src\tbox\libc\string\wcsnlen.c
[63%]: compiling.release src\tbox\src\tbox\container\element\ptr.c
[63%]: compiling.release src\tbox\src\tbox\platform\socket.c
[63%]: compiling.release src\tbox\src\tbox\algorithm\heap_sort.c
[63%]: compiling.release src\tbox\src\tbox\stream\impl\stream\file.c
[63%]: compiling.release src\tbox\src\tbox\hash\rs.c
[63%]: compiling.release src\tbox\src\tbox\libm\exp1.c
[63%]: compiling.release src\tbox\src\tbox\hash\fnv64.c
[63%]: compiling.release src\tbox\src\tbox\libm\atan2f.c
[63%]: compiling.release src\tbox\src\tbox\platform\thread.c
[63%]: compiling.release src\tbox\src\tbox\hash\djb2.c
[63%]: compiling.release src\tbox\src\tbox\platform\memory.c
[63%]: compiling.release src\tbox\src\tbox\hash\blizzard.c
[63%]: compiling.release src\tbox\src\tbox\hash\crc32.c
[63%]: compiling.release src\tbox\src\tbox\platform\atomic64.c
[63%]: compiling.release src\tbox\src\tbox\hash\ap.c
[64%]: compiling.release src\tbox\src\tbox\libm\sin.c
[64%]: compiling.release src\tbox\src\tbox\libm\tanf.c
[64%]: compiling.release src\tbox\src\tbox\libm\sqrtf.c
[64%]: compiling.release src\tbox\src\tbox\libc\string\memmem.c
[64%]: compiling.release src\tbox\src\tbox\libm\idivi8.c
[64%]: compiling.release src\tbox\src\tbox\libm\sincos.c
[64%]: compiling.release src\tbox\src\tbox\libm\pow.c
[64%]: compiling.release src\tbox\src\tbox\string\string.c
[64%]: compiling.release src\tbox\src\tbox\libc\string\wcsichr.c
[64%]: compiling.release src\tbox\src\tbox\math\int32.c
[64%]: compiling.release src\tbox\src\tbox\libm\log2f.c
[64%]: compiling.release src\tbox\src\tbox\memory\static_allocator.c
[64%]: compiling.release src\tbox\src\tbox\memory\queue_buffer.c
[64%]: compiling.release src\tbox\src\tbox\memory\impl\native_large_allocator.c
[64%]: compiling.release src\tbox\src\tbox\libm\acosf.c
[64%]: compiling.release src\tbox\src\tbox\memory\buffer.c
[64%]: compiling.release src\tbox\src\tbox\network\dns\looker.c
[64%]: compiling.release src\tbox\src\tbox\libc\string\strstr.c
[64%]: compiling.release src\tbox\src\tbox\platform\addrinfo.c
[64%]: compiling.release src\tbox\src\tbox\math\random\linear.c
[65%]: compiling.release src\tbox\src\tbox\memory\static_buffer.c
[65%]: compiling.release src\tbox\src\tbox\container\iterator.c
[65%]: compiling.release src\tbox\src\tbox\libc\string\strncat.c
[65%]: compiling.release src\tbox\src\tbox\libc\string\stristr.c
[65%]: compiling.release src\tbox\src\tbox\libm\sincosf.c
[65%]: compiling.release src\tbox\src\tbox\libc\string\wcsnirchr.c
[65%]: compiling.release src\tbox\src\tbox\platform\semaphore.c
[65%]: compiling.release src\tbox\src\tbox\memory\impl\static_fixed_pool.c
[65%]: compiling.release src\tbox\src\tbox\libc\string\wcsnirstr.c
[65%]: compiling.release src\tbox\src\tbox\container\element\hash.c
[65%]: compiling.release src\tbox\src\tbox\hash\sdbm.c
[65%]: compiling.release src\tbox\src\tbox\memory\string_pool.c
[65%]: compiling.release src\tbox\src\tbox\utils\base32.c
[65%]: compiling.release src\tbox\src\tbox\libc\string\wcsnicmp.c
[65%]: compiling.release src\tbox\src\tbox\libm\impl\libm.c
[65%]: compiling.release src\tbox\src\tbox\memory\large_allocator.c
[65%]: compiling.release src\tbox\src\tbox\libc\string\wcsncmp.c
[65%]: compiling.release src\tbox\src\tbox\platform\event.c
[65%]: compiling.release src\tbox\src\tbox\libc\string\wcslcpy.c
[65%]: compiling.release src\tbox\src\tbox\network\impl\http\option.c
[66%]: compiling.release src\tbox\src\tbox\math\random\random.c
[66%]: compiling.release src\tbox\src\tbox\libc\string\wcsistr.c
[66%]: compiling.release src\tbox\src\tbox\libc\string\wcsirchr.c
[66%]: compiling.release src\tbox\src\tbox\container\element\true.c
[66%]: compiling.release src\tbox\src\tbox\libc\string\wcsicmp.c
[66%]: compiling.release src\tbox\src\tbox\libc\string\memmov.c
[66%]: compiling.release src\tbox\src\tbox\libm\atan2.c
[66%]: compiling.release src\tbox\src\tbox\stream\transfer.c
[66%]: compiling.release src\tbox\src\tbox\utils\base64.c
[66%]: compiling.release src\tbox\src\tbox\libc\string\wcsdup.c
[66%]: compiling.release src\tbox\src\tbox\network\ipv4.c
[66%]: compiling.release src\tbox\src\tbox\container\element\uint16.c
[66%]: compiling.release src\tbox\src\tbox\utils\dump.c
[66%]: compiling.release src\tbox\src\tbox\libm\isqrti64.c
[66%]: compiling.release src\tbox\src\tbox\container\element\str.c
[66%]: compiling.release src\tbox\src\tbox\libc\stdio\sprintf.c
[66%]: compiling.release src\tbox\src\tbox\libc\misc\time\mktime.c
[66%]: compiling.release src\tbox\src\tbox\libc\string\strcat.c
[66%]: compiling.release src\tbox\src\tbox\libc\misc\time\gmmktime.c
[66%]: compiling.release src\tbox\src\tbox\libc\string\strirstr.c
[66%]: compiling.release src\tbox\src\tbox\libc\stdio\wprintf.c
[67%]: compiling.release src\tbox\src\tbox\libc\string\wcscat.c
[67%]: compiling.release src\tbox\src\tbox\libc\stdio\vswprintf.c
[67%]: compiling.release src\tbox\src\tbox\libc\string\memset.c
[67%]: compiling.release src\tbox\src\tbox\memory\allocator.c
[67%]: compiling.release src\tbox\src\tbox\algorithm\remove_first_if.c
[67%]: compiling.release src\tbox\src\tbox\libc\string\strnstr.c
[67%]: compiling.release src\tbox\src\tbox\libc\string\strcpy.c
[67%]: compiling.release src\tbox\src\tbox\libc\string\strndup.c
[67%]: compiling.release src\tbox\src\tbox\libc\stdlib\random.c
[67%]: compiling.release src\tbox\src\tbox\algorithm\bubble_sort.c
[67%]: compiling.release src\tbox\src\tbox\libm\exp.c
[67%]: compiling.release src\tbox\src\tbox\libm\asinf.c
[67%]: compiling.release src\tbox\src\tbox\libc\string\wcsnrstr.c
[67%]: compiling.release src\tbox\src\tbox\libc\stdlib\wcstombs.c
[67%]: compiling.release src\tbox\src\tbox\libc\string\memcpy.c
[67%]: compiling.release src\tbox\src\tbox\libc\string\strnirchr.c
[67%]: compiling.release src\tbox\src\tbox\libc\string\wcschr.c
[67%]: compiling.release src\tbox\src\tbox\libc\string\strnrstr.c
[67%]: compiling.release src\tbox\src\tbox\platform\poller.c
[67%]: compiling.release src\tbox\src\tbox\libc\string\strnistr.c
[68%]: compiling.release src\tbox\src\tbox\platform\timer.c
[68%]: compiling.release src\tbox\src\tbox\tbox.c
[68%]: compiling.release src\tbox\src\tbox\libc\stdio\swprintf.c
[68%]: compiling.release src\tbox\src\tbox\libc\string\strcmp.c
[68%]: compiling.release src\tbox\src\tbox\network\ipv6.c
[68%]: compiling.release src\tbox\src\tbox\algorithm\rwalk.c
[68%]: compiling.release src\tbox\src\tbox\platform\ltimer.c
[68%]: compiling.release src\tbox\src\tbox\algorithm\walk.c
[68%]: compiling.release src\tbox\src\tbox\network\dns\server.c
[68%]: compiling.release src\tbox\src\tbox\libc\string\wcsnrchr.c
[68%]: compiling.release src\tbox\src\tbox\network\ipaddr.c
[68%]: compiling.release src\tbox\src\tbox\libc\string\stricmp.c
[68%]: compiling.release src\tbox\src\tbox\libc\string\strichr.c
[68%]: compiling.release src\tbox\src\tbox\memory\small_allocator.c
[68%]: compiling.release src\tbox\src\tbox\algorithm\insert_sort.c
[68%]: compiling.release src\tbox\src\tbox\prefix\state.c
[68%]: compiling.release src\tbox\src\tbox\algorithm\count_if.c
[68%]: compiling.release src\tbox\src\tbox\memory\impl\memory.c
[68%]: compiling.release src\tbox\src\tbox\libc\stdlib\mbstowcs.c
[68%]: compiling.release src\tbox\src\tbox\algorithm\find_if.c
[69%]: compiling.release src\tbox\src\tbox\algorithm\rfind.c
[69%]: compiling.release src\tbox\src\tbox\math\fixed16.c
[69%]: compiling.release src\tbox\src\tbox\string\static_string.c
[69%]: compiling.release src\tbox\src\tbox\libc\string\memdup.c
[69%]: compiling.release src\tbox\src\tbox\algorithm\sort.c
[69%]: compiling.release src\tbox\src\tbox\algorithm\quick_sort.c
[69%]: compiling.release src\tbox\src\tbox\container\circle_queue.c
[69%]: compiling.release src\tbox\src\tbox\libc\stdio\snprintf.c
[69%]: compiling.release src\tbox\src\tbox\hash\fnv32.c
[69%]: compiling.release src\tbox\src\tbox\platform\mutex.c
[69%]: compiling.release src\tbox\src\tbox\algorithm\remove.c
[69%]: compiling.release src\tbox\src\tbox\memory\native_allocator.c
[69%]: compiling.release src\tbox\src\tbox\libc\string\strrstr.c
[69%]: compiling.release src\tbox\src\tbox\libc\string\strirchr.c
[69%]: compiling.release src\tbox\src\tbox\container\iterator\long.c
[69%]: compiling.release src\tbox\src\tbox\container\bloom_filter.c
[69%]: compiling.release src\tbox\src\tbox\container\iterator\ptr.c
[69%]: compiling.release src\tbox\src\tbox\container\iterator\str.c
[69%]: compiling.release src\tbox\src\tbox\libc\string\strlcpy.c
[69%]: compiling.release src\tbox\src\tbox\platform\file.c
[70%]: compiling.release src\tbox\src\tbox\memory\impl\static_large_allocator.c
[70%]: compiling.release src\tbox\src\tbox\algorithm\find.c
[70%]: compiling.release src\tbox\src\tbox\hash\sha.c
[70%]: compiling.release src\tbox\src\tbox\libc\string\wcsrchr.c
[70%]: compiling.release src\tbox\src\tbox\libc\stdio\printf_object.c
[70%]: compiling.release src\tbox\src\tbox\memory\default_allocator.c
[70%]: compiling.release src\tbox\src\tbox\container\heap.c
[70%]: compiling.release src\tbox\src\tbox\platform\path.c
[70%]: compiling.release src\tbox\src\tbox\container\single_list_entry.c
[70%]: compiling.release src\tbox\src\tbox\libc\string\wcsncpy.c
[70%]: compiling.release src\tbox\src\tbox\platform\directory.c
[70%]: compiling.release src\tbox\src\tbox\platform\hostname.c
[70%]: compiling.release src\tbox\src\tbox\libc\string\wcsncat.c
[70%]: compiling.release src\tbox\src\tbox\utils\url.c
[70%]: compiling.release src\tbox\src\tbox\platform\thread_local.c
[70%]: compiling.release src\tbox\src\tbox\network\cookies.c
[70%]: compiling.release src\tbox\src\tbox\container\queue.c
[70%]: compiling.release src\tbox\src\tbox\platform\thread_pool.c
[70%]: compiling.release src\tbox\src\tbox\platform\syserror.c
[70%]: compiling.release src\tbox\src\tbox\libc\string\strlen.c
[71%]: compiling.release src\tbox\src\tbox\platform\time.c
[71%]: compiling.release src\tbox\src\tbox\container\hash_set.c
[71%]: compiling.release src\tbox\src\tbox\libc\string\memcmp.c
[71%]: compiling.release src\tbox\src\tbox\libm\atanf.c
[71%]: compiling.release src\tbox\src\tbox\libc\string\strrchr.c
[71%]: compiling.release src\tbox\src\tbox\math\impl\math.c
[71%]: compiling.release src\tbox\src\tbox\stream\static_stream.c
[71%]: compiling.release src\tbox\src\tbox\libm\isfinf.c
[71%]: archiving.release tbox.lib
[71%]: compiling.release src\xmake\os\sleep.c
[71%]: compiling.release src\xmake\sandbox\interactive.c
[71%]: compiling.release src\xmake\process\waitlist.c
[72%]: compiling.release src\xmake\process\open.c
[72%]: compiling.release src\xmake\string\endswith.c
[72%]: compiling.release src\xmake\os\rmfile.c
[73%]: compiling.release src\xmake\os\uid.c
[73%]: compiling.release src\xmake\os\emptydir.c
[73%]: compiling.release src\xmake\readline\clear_history.c
[73%]: compiling.release src\xmake\path\absolute.c
[74%]: compiling.release src\xmake\xmake.c
[74%]: compiling.release src\xmake\os\versioninfo.c
[74%]: compiling.release src\xmake\hash\sha256.c
[74%]: compiling.release src\xmake\os\mclock.c
[75%]: compiling.release src\xmake\os\isfile.c
[75%]: compiling.release src\xmake\os\rename.c
[75%]: compiling.release src\xmake\process\wait.c
[76%]: compiling.release src\xmake\os\chdir.c
[76%]: compiling.release src\xmake\os\argv.c
[76%]: compiling.release src\xmake\semver\semver.c
[76%]: compiling.release src\xmake\os\strerror.c
[77%]: compiling.release src\xmake\os\exists.c
[77%]: compiling.release src\xmake\semver\select.c
[77%]: compiling.release src\xmake\os\getenv.c
[77%]: compiling.release src\xmake\path\is_absolute.c
[78%]: compiling.release src\xmake\machine.c
[78%]: compiling.release src\xmake\os\find.c
[78%]: compiling.release src\xmake\os\mtime.c
[78%]: compiling.release src\xmake\io\isatty.c
[79%]: compiling.release src\xmake\readline\history_list.c
[79%]: compiling.release src\xmake\readline\add_history.c
[79%]: compiling.release src\xmake\os\curdir.c
[80%]: compiling.release src\xmake\os\tmpdir.c
[80%]: compiling.release src\xmake\process\close.c
[80%]: compiling.release src\xmake\os\getwinsize.c
[80%]: compiling.release src\xmake\os\getown.c
[81%]: compiling.release src\xmake\os\filesize.c
[81%]: compiling.release src\xmake\path\translate.c
[81%]: compiling.release src\xmake\os\cpdir.c
[81%]: compiling.release src\xmake\path\relative.c
[82%]: compiling.release src\xmake\string\startswith.c
[82%]: compiling.release src\xmake\readline\readline.c
[82%]: compiling.release src\xmake\winreg\query.c
[83%]: compiling.release src\xmake\hash\uuid.c
[83%]: compiling.release src\xmake\os\setenv.c
[83%]: compiling.release src\xmake\os\mkdir.c
[83%]: compiling.release src\xmake\semver\satisfies.c
[84%]: compiling.release src\xmake\semver\parse.c
[84%]: compiling.release src\xmake\os\isdir.c
[84%]: compiling.release src\xmake\os\rmdir.c
[84%]: compiling.release src\xmake\os\gid.c
[85%]: compiling.release src\xmake\os\cpfile.c
[85%]: compiling.release src\xmake\process\openv.c
[85%]: archiving.release xmake.lib
[85%]: compiling.release src\demo\xmake.rc
[92%]: compiling.release src\demo\xmake.c
[100%]: linking.release xmake.exe

C:>xmake f -P core -v
warning: You are working in the project directory(C:\Users\...\repo\core) and you can also
force to build in current directory via run `xmake -P .`
configure
{
    deprecated = false
,   clean = true
,   mrc = rc.exe
,   polarssl = false
,   pcre = false
,   ar = link.exe -lib
,   small = true
,   object = false
,   arch = x64
,   sqlite3 = false
,   info = false
,   cc = cl.exe
,   curses = false
,   plat = windows
,   wchar = false
,   float = true
,   micro = false
,   host = windows
,   xml = false
,   readline = false
,   vs = 2017
,   exception = false
,   pcre2 = false
,   base = true
,   zlib = false
,   database = false
,   regex = false
,   coroutine = false
,   mysql = false
,   demo = false
,   ccache = true
,   buildir = build
,   ld = link.exe
,   zip = false
,   hash = true
,   mbedtls = false
,   charset = false
,   openssl = false
,   mode = release
,   cxx = cl.exe
,   kind = static
}
waruqi commented 6 years ago

You need set the lua scripts directory of xmake first via XMAKE_PROGRAM_DIR.

C:>set XMAKE_PROGRAM_DIR=xmake
C:>core\build\xmake.exe --version

Or you can download NSIS with long strings (http://nsis.sourceforge.net/Special_Builds Large strings), and load scripts/installer.nsi to generate an nsis install file to reinstall xmake. (installer.nsi will use core\build\xmake.exe)

rivy commented 6 years ago

Thanks for the reply. It provided a solution for me.

Just to clarify... From your response and looking at the code, it seems, at least on windows, that the xmake application requires that it be run from a base directory containing all the "REPO\xmake" directory content ("actions", "core", "languages", ...) or have the XMAKE_PROGRAM_DIR environment variable point at that directory.

Is that correct?

Additionally, by looking at the NSIS script, it seems that you build the windows distribution from the xmake executable, the "REPO/xmake" directory contents, all the *.MD files as project documentation, and a "REPO/winenv" directory containing curl, unzip, and a "curl-ca-bundle.crt" certificate bundles.

But the "winenv" directory isn't included in the repo, with some references to three other outside repos in your code. Are you not keeping it within this repo (or a sub-project pointer to it) for some reason (size maybe?)?

And I don't see git or 7zip (from the winenv repos) in the distribution (at least as of v2.2.1). Are they needed for distribution, just development, or planned for later inclusion?

Thanks for all the info.

And thanks for all of your work on this tool! I'm quite enjoying my first few uses of it. You've struck a nice balance by modelling from simple make and adding some well-thought-out, cross-platform, cross-compilation enhancements within the context of a nicely designed scripting language.

waruqi commented 6 years ago

Just to clarify... From your response and looking at the code, it seems, at least on windows, that the xmake application requires that it be run from a base directory containing all the "REPO\xmake" directory content ("actions", "core", "languages", ...) or have the XMAKE_PROGRAM_DIR environment variable point at that directory.

They are also needed lua scripts on other platforms, but XMAKE_PROGRAM_DIR is optional.

But the "winenv" directory isn't included in the repo, with some references to three other outside repos in your code. Are you not keeping it within this repo (or a sub-project pointer to it) for some reason (size maybe?)?

Yes, I did not put them in repo, because these are some binary files, not code. I don't want to increase the size of the xmake repo.

And I don't see git or 7zip (from the winenv repos) in the distribution (at least as of v2.2.1). Are they needed for distribution, just development, or planned for later inclusion?

These files are in https://github.com/tboox/xmake-win32env and I will manually put them in when making the nsis installation package.