From f4216855c37260d5309941dc8d18430042aa7859 Mon Sep 17 00:00:00 2001 From: SisMaker <1713699517@qq.com> Date: Mon, 28 Sep 2020 18:20:03 +0800 Subject: [PATCH] bug free --- src/rebarNpCompiler.erl | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/rebarNpCompiler.erl b/src/rebarNpCompiler.erl index 3ae91a3..65cad53 100644 --- a/src/rebarNpCompiler.erl +++ b/src/rebarNpCompiler.erl @@ -618,13 +618,13 @@ targetType_1(".dll") -> drv; targetType_1("") -> exe; targetType_1(".exe") -> exe. -% erlInterfaceDir(Subdir) -> -% case code:lib_dir(erl_interface, Subdir) of -% {error, bad_name} -> -% throw({error, {erl_interface, Subdir, "code:lib_dir(erl_interface)" -% "is unable to find the erl_interface library."}}); -% Dir -> Dir -% end. +erlInterfaceDir(Subdir) -> + case code:lib_dir(erl_interface, Subdir) of + {error, bad_name} -> + throw({error, {erl_interface, Subdir, "code:lib_dir(erl_interface)" + "is unable to find the erl_interface library."}}); + Dir -> Dir + end. defaultEnv() -> Arch = os:getenv("REBAR_TARGET_ARCH"), @@ -665,9 +665,11 @@ defaultEnv() -> {"ERL_CFLAGS", lists:concat( [ + " -I\"", erlInterfaceDir(include), "\" -I\"", filename:join(ertsDir(), "include"), "\" " ])}, + {"ERL_EI_LIBDIR", lists:concat(["\"", erlInterfaceDir(lib), "\""])}, {"ERL_LDFLAGS", " -L$ERL_EI_LIBDIR -lei"}, {"ERLANG_ARCH", rebarUtils:wordsize()}, {"ERLANG_TARGET", rebarUtils:getArch()}, @@ -720,7 +722,7 @@ defaultEnv() -> "$LINKER $PORT_IN_FILES $LDFLAGS $EXE_LDFLAGS /OUT:$PORT_OUT_FILE"}, %% ERL_CFLAGS are ok as -I even though strictly it should be /I {"win32", "ERL_LDFLAGS", - " /LIBPATH:$ERL_EI_LIBDIR ei.lib"}, + " /LIBPATH:$ERL_EI_LIBDIR erl_interface.lib ei.lib"}, {"win32", "DRV_CFLAGS", "/Zi /Wall $ERL_CFLAGS"}, {"win32", "DRV_LDFLAGS", "/DLL $ERL_LDFLAGS"}, %% Provide some default Windows defines for convenience