VirtualBox

Changeset 71822 in vbox


Ignore:
Timestamp:
Apr 11, 2018 12:22:31 PM (6 years ago)
Author:
vboxsync
Message:

Config.kmk, Main/webservice: add javac version detection (needed reshuffling), and use it for passing the --add-modules option for the webservice stuff with JDK8 and later

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r71708 r71822  
    26192619endif
    26202620
    2621 # Figures the pylin version.
     2621# Figures the pylint version.
    26222622VBOX_PYLINT_FIGURE_VERSION = $(shell $(1) --version 2> /dev/null \
    26232623        | $(SED_EXT) -n -e 's|^ *pylint *\([0-9][0-9]*\).\([0-9][0-9]*\)\.\([0-9][0-9]*\).*$(DOLLAR)|$$(expr \1 * 10000 + \2 * 100 + \3)|p' )
     2624
     2625# Java stuff.
     2626ifeq ($(KBUILD_TARGET), darwin)
     2627 VBOX_JAVA_COMMANDS = $(firstword $(wildcard \
     2628        /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands \
     2629        /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands \
     2630        $(if-expr $(VBOX_XCODE_VERSION_MAJOR) >= 4,/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands,) \
     2631        ) /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands)
     2632 VBOX_JAVA      = $(VBOX_JAVA_COMMANDS)/java
     2633 VBOX_JAVAC     = $(VBOX_JAVA_COMMANDS)/javac
     2634 VBOX_JAVAH     = $(VBOX_JAVA_COMMANDS)/javah
     2635 VBOX_JAR       = $(VBOX_JAVA_COMMANDS)/jar
     2636 VBOX_JAVADOC   = $(VBOX_JAVA_COMMANDS)/javadoc
     2637 VBOX_WSIMPORT  = $(VBOX_JAVA_COMMANDS)/wsimport
     2638 if $(VBOX_XCODE_VERSION_MAJOR) >= 4 # Lion (4.1-preview 5) has a broken CurrentJDK link.  Blindly applying it to 4.0.
     2639  VBOX_JAVA_INC  = $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers
     2640 else
     2641  VBOX_JAVA_INC  = $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Headers
     2642 endif
     2643
     2644else # !darwin
     2645
     2646 ifeq ($(KBUILD_TARGET),linux)
     2647  ifeq ($(origin VBOX_JAVA_HOME),undefined)
     2648   # Add correct detection for you distro after the /usr/../java-6-sun line.
     2649   VBOX_JAVA_HOME := $(firstword $(wildcard \
     2650        $(KBUILD_DEVTOOLS)/linux.x86/jdk1.6.0_27 \
     2651        /usr/lib/jvm/java-6-sun  \
     2652        /usr/lib/jvm/java-6-openjdk \
     2653        /usr/lib/jvm/java-6-openjdk-i386 \
     2654        /usr/lib/jvm/java-6-openjdk-amd64 \
     2655        /usr/lib/jvm/java-7-openjdk-i386 \
     2656        /usr/lib/jvm/java-7-openjdk-amd64 \
     2657        /usr/lib/jvm/default-java \
     2658        /usr/lib/jvm/java \
     2659        \
     2660        /usr/lib/jvm/sun-jdk-1.6 \
     2661        ) /usr/lib/jvm/java-6-sun)
     2662  endif
     2663 endif
     2664
     2665 ifeq ($(KBUILD_TARGET),solaris)
     2666  # VBOX_JAVA_HOME ?= /usr/jdk/jdk1.6.0
     2667  VBOX_JAVA_HOME ?= $(firstword $(abspath $(wildcard \
     2668        /usr/jdk/latest/include/.. \
     2669        /usr/jdk/instances/jdk1.8*/include/.. \
     2670        /usr/jdk/instances/jdk1.7*/include/.. \
     2671        /usr/jdk/instances/jdk1.6*/include/.. \
     2672        )) /usr/java)
     2673 endif
     2674
     2675 ifeq ($(KBUILD_TARGET),win)
     2676  VBOX_JAVA_HOME ?= c:/jdk
     2677 endif
     2678
     2679 VBOX_JAVA     ?= "$(VBOX_JAVA_HOME)/bin/java$(HOSTSUFF_EXE)"
     2680 VBOX_JAVAC     = "$(VBOX_JAVA_HOME)/bin/javac$(HOSTSUFF_EXE)"
     2681 VBOX_JAVAH     = "$(VBOX_JAVA_HOME)/bin/javah$(HOSTSUFF_EXE)"
     2682 VBOX_JAR       = "$(VBOX_JAVA_HOME)/bin/jar$(HOSTSUFF_EXE)"
     2683 VBOX_JAVADOC   = "$(VBOX_JAVA_HOME)/bin/javadoc$(HOSTSUFF_EXE)"
     2684 VBOX_WSIMPORT  = "$(VBOX_JAVA_HOME)/bin/wsimport$(HOSTSUFF_EXE)"
     2685 # correct for targets we care about
     2686 VBOX_MD_OS     = $(KBUILD_TARGET)
     2687 VBOX_JAVA_INC  = \
     2688        $(VBOX_JAVA_HOME)/include \
     2689        $(VBOX_JAVA_HOME)/include/$(VBOX_MD_OS)
     2690endif # !darwin
     2691VBOX_JAVA_FIGURE_VERSION = $(shell $(1) -version 2>&1 > /dev/null \
     2692        | $(SED_EXT) -n -e 's|^[^ ]* *\([0-9][0-9]*\).\([0-9][0-9]*\)\.\([0-9][0-9]*\).*$(DOLLAR)|$$(expr \1 * 10000 + \2 * 100 + \3)|p' )
    26242693
    26252694# Test C and C++ files.
     
    28012870if defined(VBOX_PYLINT) && !defined(VBOX_WITH_PYLINT_PRE_V1_0) && !defined(VBOX_WITH_PYLINT_V1_1_PLUS) && !defined(VBOX_WITH_PYLINT_V1_2_1_PLUS)
    28022871        $(QUIET)$(APPEND) '$@' "VBOX_PYLINT_VERSION  := $(call VBOX_PYLINT_FIGURE_VERSION, $(VBOX_PYLINT))"
     2872endif
     2873if defined(VBOX_JAVAC)
     2874        $(QUIET)$(APPEND) '$@' 'VBOX_JAVA_VERSION    := $(call VBOX_JAVA_FIGURE_VERSION, $(VBOX_JAVAC))'
    28032875endif
    28042876
     
    72157287VBOX_XIDL_FILE         = $(PATH_OUT)/obj/VirtualBox_stripped.xidl
    72167288
    7217 # Java stuff.
    7218 ifeq ($(KBUILD_TARGET), darwin)
    7219  VBOX_JAVA_COMMANDS = $(firstword $(wildcard \
    7220         /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands \
    7221         /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands \
    7222         $(if-expr $(VBOX_XCODE_VERSION_MAJOR) >= 4,/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands,) \
    7223         ) /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands)
    7224  VBOX_JAVA      = $(VBOX_JAVA_COMMANDS)/java
    7225  VBOX_JAVAC     = $(VBOX_JAVA_COMMANDS)/javac
    7226  VBOX_JAVAH     = $(VBOX_JAVA_COMMANDS)/javah
    7227  VBOX_JAR       = $(VBOX_JAVA_COMMANDS)/jar
    7228  VBOX_JAVADOC   = $(VBOX_JAVA_COMMANDS)/javadoc
    7229  VBOX_WSIMPORT  = $(VBOX_JAVA_COMMANDS)/wsimport
    7230  if $(VBOX_XCODE_VERSION_MAJOR) >= 4 # Lion (4.1-preview 5) has a broken CurrentJDK link.  Blindly applying it to 4.0.
    7231   VBOX_JAVA_INC  = $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers
    7232  else
    7233   VBOX_JAVA_INC  = $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Headers
    7234  endif
    7235 
    7236 else # !darwin
    7237 
    7238  ifeq ($(KBUILD_TARGET),linux)
    7239   ifeq ($(origin VBOX_JAVA_HOME),undefined)
    7240    # Add correct detection for you distro after the /usr/../java-6-sun line.
    7241    VBOX_JAVA_HOME := $(firstword $(wildcard \
    7242         $(KBUILD_DEVTOOLS)/linux.x86/jdk1.6.0_27 \
    7243         /usr/lib/jvm/java-6-sun  \
    7244         /usr/lib/jvm/java-6-openjdk \
    7245         /usr/lib/jvm/java-6-openjdk-i386 \
    7246         /usr/lib/jvm/java-6-openjdk-amd64 \
    7247         /usr/lib/jvm/java-7-openjdk-i386 \
    7248         /usr/lib/jvm/java-7-openjdk-amd64 \
    7249         /usr/lib/jvm/default-java \
    7250         /usr/lib/jvm/java \
    7251         \
    7252         /usr/lib/jvm/sun-jdk-1.6 \
    7253         ) /usr/lib/jvm/java-6-sun)
    7254   endif
    7255  endif
    7256 
    7257  ifeq ($(KBUILD_TARGET),solaris)
    7258   # VBOX_JAVA_HOME ?= /usr/jdk/jdk1.6.0
    7259   VBOX_JAVA_HOME ?= $(firstword $(abspath $(wildcard \
    7260         /usr/jdk/latest/include/.. \
    7261         /usr/jdk/instances/jdk1.8*/include/.. \
    7262         /usr/jdk/instances/jdk1.7*/include/.. \
    7263         /usr/jdk/instances/jdk1.6*/include/.. \
    7264         )) /usr/java)
    7265  endif
    7266 
    7267  ifeq ($(KBUILD_TARGET),win)
    7268   VBOX_JAVA_HOME ?= c:/jdk
    7269  endif
    7270 
    7271  VBOX_JAVA     ?= "$(VBOX_JAVA_HOME)/bin/java$(HOSTSUFF_EXE)"
    7272  VBOX_JAVAC     = "$(VBOX_JAVA_HOME)/bin/javac$(HOSTSUFF_EXE)"
    7273  VBOX_JAVAH     = "$(VBOX_JAVA_HOME)/bin/javah$(HOSTSUFF_EXE)"
    7274  VBOX_JAR       = "$(VBOX_JAVA_HOME)/bin/jar$(HOSTSUFF_EXE)"
    7275  VBOX_JAVADOC   = "$(VBOX_JAVA_HOME)/bin/javadoc$(HOSTSUFF_EXE)"
    7276  VBOX_WSIMPORT  = "$(VBOX_JAVA_HOME)/bin/wsimport$(HOSTSUFF_EXE)"
    7277  # correct for targets we care about
    7278  VBOX_MD_OS     = $(KBUILD_TARGET)
    7279  VBOX_JAVA_INC  = \
    7280         $(VBOX_JAVA_HOME)/include \
    7281         $(VBOX_JAVA_HOME)/include/$(VBOX_MD_OS)
    7282 endif # !darwin
    7283 
    72847289
    72857290#
     
    72907295else
    72917296 VBOX_SEP = $(COLON)
     7297endif
     7298
     7299# Java compiler options, needs some version checking.
     7300ifneq ($(int-ge $(VBOX_JAVA_VERSION),10800),)
     7301 VBOX_JAVA_WS_OPTS ?= --add-modules java.xml.ws
    72927302endif
    72937303VBOX_JAVAC_OPTS   = -encoding UTF-8 -source 1.5 -target 1.5 -Xlint:unchecked
  • trunk/src/VBox/Main/webservice/Makefile.kmk

    r69846 r71822  
    481481        $(QUIET)$(MKDIR) -p $(VBOX_JWS_JDEST)
    482482        $(call MSG_L1,Compiling bridge code)
    483         $(VBOX_JAVAC) $(VBOX_JAVAC_OPTS) \
     483        $(VBOX_JAVAC) $(VBOX_JAVAC_OPTS) $(VBOX_JAVA_WS_OPTS) \
    484484                @$(VBOX_JWS_GEN)/jwsglue.list \
    485485                -d $(VBOX_JWS_JDEST) -classpath $(VBOX_JWS_JDEST)
     
    504504        $(QUIET)$(MKDIR) -p $(VBOX_JWSDOC_JDEST)
    505505        $(call MSG_L1,Generating javadoc html documentation)
    506         $(VBOX_JAVADOC) $(VBOX_JAVADOC_OPTS) -quiet \
     506        $(VBOX_JAVADOC) $(VBOX_JAVADOC_OPTS) $(VBOX_JAVA_WS_OPTS) -quiet \
    507507                -sourcepath $(VBOX_JWS_GEN)/java org.virtualbox$(VBOX_API_SUFFIX) \
    508508                -d $(VBOX_JWSDOC_JDEST)
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette