Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
e4057ad1
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
e4057ad1
编写于
5月 01, 2018
作者:
K
kevinw
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8042707: Source changes needed to build JDK 9 with Visual Studio 2013 (VS2013)
Reviewed-by: erikj, ihse, ddehaven, billyh
上级
12c68684
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
46 addition
and
22 deletion
+46
-22
make/CopyFiles.gmk
make/CopyFiles.gmk
+18
-6
make/lib/CoreLibraries.gmk
make/lib/CoreLibraries.gmk
+5
-0
src/windows/bin/java_md.c
src/windows/bin/java_md.c
+23
-16
未找到文件。
make/CopyFiles.gmk
浏览文件 @
e4057ad1
...
...
@@ -247,16 +247,28 @@ endif
##########################################################################################
# Copy msvcrXX.dll on windows
# Copy the microsoft runtime libraries on windows
ifeq ($(OPENJDK_TARGET_OS), windows)
MSVCR_TARGET := $(JDK_OUTPUTDIR)/bin/$(notdir $(MSVCR_DLL))
# Chmod to avoid permission issues if bundles are unpacked on unix platforms.
$(MSVCR_TARGET): $(MSVCR_DLL)
$(
call
install-file)
define copy-and-chmod
$(install-file)
$(CHMOD) a+rx $@
endef
# Use separate macro calls in case the source files are not in the same
# directory.
$(eval $(call SetupCopyFiles,COPY_MSVCR, \
DEST := $(JDK_OUTPUTDIR)/bin, \
FILES := $(MSVCR_DLL), \
MACRO := copy-and-chmod))
$(eval $(call SetupCopyFiles,COPY_MSVCP, \
DEST := $(JDK_OUTPUTDIR)/bin, \
FILES := $(MSVCP_DLL), \
MACRO := copy-and-chmod))
COPY_FILES += $(
MSVCR_TARGET
)
COPY_FILES += $(
COPY_MSVCR) $(COPY_MSVCP
)
endif
##########################################################################################
...
...
make/lib/CoreLibraries.gmk
浏览文件 @
e4057ad1
...
...
@@ -383,6 +383,11 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
cmdtoargs.c
# Staticically link with c runtime on windows.
LIBJLI_CFLAGS := $(filter-out -MD, $(LIBJLI_CFLAGS))
# Supply the name of the C runtime lib.
LIBJLI_CFLAGS += -DMSVCR_DLL_NAME='"$(notdir $(MSVCR_DLL))"'
ifneq ($(MSVCP_DLL), )
LIBJLI_CFLAGS += -DMSVCP_DLL_NAME='"$(notdir $(MSVCP_DLL))"'
endif
else ifneq ($(OPENJDK_TARGET_OS), macosx)
BUILD_LIBJLI_FILES += java_md_common.c
...
...
src/windows/bin/java_md.c
浏览文件 @
e4057ad1
...
...
@@ -266,26 +266,17 @@ LoadMSVCRT()
* assumed to be present in the "JRE path" directory. If it is not found
* there (or "JRE path" fails to resolve), skip the explicit load and let
* nature take its course, which is likely to be a failure to execute.
* This is clearly completely specific to the exact compiler version
* which isn't very nice, but its hardly the only place.
* No attempt to look for compiler versions in between 2003 and 2010
* as we aren't supporting building with those.
* The makefiles will provide the correct lib contained in quotes in the
* macro MSVCR_DLL_NAME.
*/
#ifdef _MSC_VER
#if _MSC_VER < 1400
#define CRT_DLL "msvcr71.dll"
#endif
#if _MSC_VER >= 1600
#define CRT_DLL "msvcr100.dll"
#endif
#ifdef CRT_DLL
#ifdef MSVCR_DLL_NAME
if
(
GetJREPath
(
crtpath
,
MAXPATHLEN
))
{
if
(
JLI_StrLen
(
crtpath
)
+
JLI_StrLen
(
"
\\
bin
\\
"
)
+
JLI_StrLen
(
CRT_DLL
)
>=
MAXPATHLEN
)
{
JLI_StrLen
(
MSVCR_DLL_NAME
)
>=
MAXPATHLEN
)
{
JLI_ReportErrorMessage
(
JRE_ERROR11
);
return
JNI_FALSE
;
}
(
void
)
JLI_StrCat
(
crtpath
,
"
\\
bin
\\
"
CRT_DLL
);
/* Add crt dll */
(
void
)
JLI_StrCat
(
crtpath
,
"
\\
bin
\\
"
MSVCR_DLL_NAME
);
/* Add crt dll */
JLI_TraceLauncher
(
"CRT path is %s
\n
"
,
crtpath
);
if
(
_access
(
crtpath
,
0
)
==
0
)
{
if
(
LoadLibrary
(
crtpath
)
==
0
)
{
...
...
@@ -294,8 +285,24 @@ LoadMSVCRT()
}
}
}
#endif
/* CRT_DLL */
#endif
/* _MSC_VER */
#endif
/* MSVCR_DLL_NAME */
#ifdef MSVCP_DLL_NAME
if
(
GetJREPath
(
crtpath
,
MAXPATHLEN
))
{
if
(
JLI_StrLen
(
crtpath
)
+
JLI_StrLen
(
"
\\
bin
\\
"
)
+
JLI_StrLen
(
MSVCP_DLL_NAME
)
>=
MAXPATHLEN
)
{
JLI_ReportErrorMessage
(
JRE_ERROR11
);
return
JNI_FALSE
;
}
(
void
)
JLI_StrCat
(
crtpath
,
"
\\
bin
\\
"
MSVCP_DLL_NAME
);
/* Add prt dll */
JLI_TraceLauncher
(
"PRT path is %s
\n
"
,
crtpath
);
if
(
_access
(
crtpath
,
0
)
==
0
)
{
if
(
LoadLibrary
(
crtpath
)
==
0
)
{
JLI_ReportErrorMessage
(
DLL_ERROR4
,
crtpath
);
return
JNI_FALSE
;
}
}
}
#endif
/* MSVCP_DLL_NAME */
loaded
=
1
;
}
return
JNI_TRUE
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录