mirror of
https://github.com/neovim/neovim.git
synced 2024-12-25 05:35:10 -07:00
4ae7acd152
Luv is a simple lua binding to libuv, which is now used by neovim lua client. The bundled luv installation a bit different from other dependencies in that it is installed two times: - The "BuildLuv.cmake" script downloads and installs a static version of luv using its normal cmake build script. This static version will be used later. - Luv default rockspec is replaced with the alternate under the "rockspecs" directory(the alternate rockspec plays nicer with neovim build system) - The alternate rockspec is used to build/install the lua module and make it available to lua scripts.
30 lines
851 B
CMake
30 lines
851 B
CMake
# replace luv default rockspec with the alternate one under the "rockspecs"
|
|
# directory
|
|
file(GLOB LUV_ROCKSPEC RELATIVE ${LUV_SRC_DIR} ${LUV_SRC_DIR}/*.rockspec)
|
|
file(RENAME ${LUV_SRC_DIR}/rockspecs/${LUV_ROCKSPEC} ${LUV_SRC_DIR}/${LUV_ROCKSPEC})
|
|
|
|
# Some versions of mingw are missing defines required by luv dns module, add
|
|
# them now
|
|
set(LUV_SRC_DNS_C_DEFS
|
|
"#ifndef AI_NUMERICSERV
|
|
# define AI_NUMERICSERV 0x0008
|
|
#endif
|
|
#ifndef AI_ALL
|
|
# define AI_ALL 0x00000100
|
|
#endif
|
|
#ifndef AI_ADDRCONFIG
|
|
# define AI_ADDRCONFIG 0x00000400
|
|
#endif
|
|
#ifndef AI_V4MAPPED
|
|
# define AI_V4MAPPED 0x00000800
|
|
#endif")
|
|
|
|
file(READ ${LUV_SRC_DIR}/src/dns.c LUV_SRC_DNS_C)
|
|
string(REPLACE
|
|
"\n#include <netdb.h>"
|
|
"\n#include <netdb.h>\n#else\n${LUV_SRC_DNS_C_DEFS}"
|
|
LUV_SRC_DNS_C_PATCHED
|
|
"${LUV_SRC_DNS_C}")
|
|
file(WRITE ${LUV_SRC_DIR}/src/dns.c "${LUV_SRC_DNS_C_PATCHED}")
|
|
|