-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Setup paths without FIXPATH to OMR configure #262
Conversation
20b2a58
to
c711b5c
Compare
f1fb12a
to
8523254
Compare
@@ -464,7 +464,7 @@ AC_DEFUN([OPENJ9_THIRD_PARTY_REQUIREMENTS], | |||
fi | |||
|
|||
if test "x$OPENJDK_BUILD_OS_ENV" = xwindows.cygwin ; then | |||
FREEMARKER_JAR=`$CYGPATH -m "$with_freemarker_jar"` | |||
FREEMARKER_JAR=`cygpath -m "$with_freemarker_jar"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a problem with $CYGPATH
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, CYGPATH
is empty when the command in question is executed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
20:46:53 ./common/omrcuda.cpp(41): fatal error C1083: Cannot open include file: 'cuda.h': No such file or directory
Will test cuda
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should try to order things so this can continue to use $CYGPATH
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It appears that CYGPATH
is superseded by PATHTOOL
: see basic_tools.m4.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On the other hand, OpenJDK
uses cygpath
extensively from searching result.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There aren't so many references in the openj9-staging
branch; most have been replaced by PATHTOOL
. We should do likewise.
jenkins test sanity win jdknext depends eclipse-openj9/openj9#11543 |
|
8523254
to
b725e4a
Compare
jenkins test sanity win jdknext depends eclipse-openj9/openj9#11543 |
jenkins copyright check |
Pass JAVA_SPEC_VERSION to buildj9tools.mk to accommodate JDK16+ specific change; Setup paths without FIXPATH such as CC_NOFIXPATH, CXX_NOFIXPATH, VS_INCLUDE_NOFIXPATH, and VS_LIB_NOFIXPATH. Signed-off-by: Jason Feng <[email protected]>
@@ -45,6 +45,7 @@ $(J9JCL_SOURCES_DONEFILE) : $(AllJclSource) | |||
@$(ECHO) Building OpenJ9 Java Preprocessor | |||
@$(MKDIR) -p $(J9TOOLS_DIR) | |||
$(MAKE) $(MAKE_ARGS) -C $(OPENJ9_TOPDIR)/sourcetools -f buildj9tools.mk \ | |||
JAVA_SPEC_VERSION=$(VERSION_FEATURE) \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't necessary if a phony target, say jpp_jar
is defined in buildj9tools.mk
which builds jpp.jar
; the occurrence of $(call FixPath,$(JPP_JAR))
below would be replaced by jpp_jar
. The rules for that new target would be platform-independent.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
jpp.jar
shares BuildJar_template
function with a few other jar files om.jar
, uma.jar
, j9vmcp.jar
, and j9nls.jar
. A phony target like jpp_jar
might have to duplicate some code from BuildJar_template
which seem not desirable.
Just got another thought, removing FixPath
from $(call FixPath,$(JPP_JAR))
can match $(JPP_JAR)
with the target within OpenJ9 buildj9tools.mk
. This can avoid eclipse-openj9/openj9#11543.
@keithc-ca does this sound a better approach?
Edit: this matches the target but later jar build requires fixed path hence fails.
@@ -464,7 +464,7 @@ AC_DEFUN([OPENJ9_THIRD_PARTY_REQUIREMENTS], | |||
fi | |||
|
|||
if test "x$OPENJDK_BUILD_OS_ENV" = xwindows.cygwin ; then | |||
FREEMARKER_JAR=`$CYGPATH -m "$with_freemarker_jar"` | |||
FREEMARKER_JAR=`cygpath -m "$with_freemarker_jar"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should try to order things so this can continue to use $CYGPATH
.
AC_SUBST(CC_NOFIXPATH) | ||
AC_SUBST(CXX_NOFIXPATH) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These should appear in a 'closed' file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is to support spec.gmk
generation.
SPEC="$OUTPUTDIR/spec.gmk"
...
AC_SUBST(CC_NOFIXPATH)
AC_SUBST(CXX_NOFIXPATH)
# The spec.gmk file contains all variables for the make system.
AC_CONFIG_FILES([$OUTPUTDIR/spec.gmk:$AUTOCONF_DIR/spec.gmk.in])
It could be included in a closed
file but that file need to be included here hence it doesn't seem much different.
CC_NOFIXPATH := @CC_NOFIXPATH@ | ||
CXX_NOFIXPATH := @CXX_NOFIXPATH@ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think modifying this openjdk file is necessary.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is part of the change to get CC_NOFIXPATH
& CXX_NOFIXPATH
into spec.gmk
which exports environment variables to be referred by OMR
configure script.
This is needed unless we find another way to pass those settings.
I may have a cleaner fix that changes only one openjdk file ( For those that want a preview, see https://github.com/keithc-ca/openj9-openjdk/tree/jdk17. |
Pass
JAVA_SPEC_VERSION
tobuildj9tools.mk
to accommodateJDK16+
specific change;Setup paths without
FIXPATH
such asCC_NOFIXPATH
,CXX_NOFIXPATH
,VS_INCLUDE_NOFIXPATH
, andVS_LIB_NOFIXPATH
.With this PR and its dependent PR, now JDK17 Windows builds and the
-version
output is:Depends on eclipse-openj9/openj9#11543
closes eclipse-openj9/openj9#11410
Signed-off-by: Jason Feng [email protected]