common/autoconf/spec.gmk.in
changeset 14111 2a82ecb35fc7
parent 13697 5262b00bc10c
child 14112 1b447f5cb0d1
equal deleted inserted replaced
14104:8d9d430b4244 14111:2a82ecb35fc7
    39 HASH:=\#
    39 HASH:=\#
    40 SQUOTE:='
    40 SQUOTE:='
    41 #'
    41 #'
    42 DQUOTE:="
    42 DQUOTE:="
    43 #"
    43 #"
    44 define NEWLINE:=
    44 define NEWLINE
       
    45 
       
    46 
    45 endef
    47 endef
    46 
    48 
    47 # A self-referential reference to this file.
    49 # A self-referential reference to this file.
    48 SPEC:=@SPEC@
    50 SPEC:=@SPEC@
    49 
    51 
    50 # Specify where the spec file is.
    52 # Specify where the spec file is.
    51 MAKE_ARGS="SPEC=$(SPEC)"
    53 MAKE_ARGS="SPEC=$(SPEC)"
    52 
    54 
    53 # TODO The logic for finding and setting MAKE is currently not working 
    55 MAKE:=@MAKE@
    54 # well on windows. Disable it TEMPORARILY there for now.
       
    55 ifneq (@OPENJDK_TARGET_OS@,windows)
       
    56     MAKE:=@MAKE@
       
    57 endif
       
    58 
    56 
    59 # Pass along the verbosity setting.
    57 # Pass along the verbosity setting.
    60 ifeq (,$(findstring VERBOSE=,$(MAKE)))
    58 ifeq (,$(findstring VERBOSE=,$(MAKE)))
    61     MAKE:=$(MAKE) $(VERBOSE) VERBOSE="$(VERBOSE)"
    59     MAKE:=$(MAKE) $(VERBOSE) VERBOSE="$(VERBOSE)"
    62 endif
    60 endif
    75 CONF_NAME:=@CONF_NAME@
    73 CONF_NAME:=@CONF_NAME@
    76 
    74 
    77 # The built jdk will run in this target system.
    75 # The built jdk will run in this target system.
    78 OPENJDK_TARGET_OS:=@OPENJDK_TARGET_OS@
    76 OPENJDK_TARGET_OS:=@OPENJDK_TARGET_OS@
    79 OPENJDK_TARGET_OS_API:=@OPENJDK_TARGET_OS_API@
    77 OPENJDK_TARGET_OS_API:=@OPENJDK_TARGET_OS_API@
       
    78 OPENJDK_TARGET_OS_ENV:=@OPENJDK_TARGET_OS_ENV@
    80 
    79 
    81 OPENJDK_TARGET_CPU:=@OPENJDK_TARGET_CPU@
    80 OPENJDK_TARGET_CPU:=@OPENJDK_TARGET_CPU@
    82 OPENJDK_TARGET_CPU_ARCH:=@OPENJDK_TARGET_CPU_ARCH@
    81 OPENJDK_TARGET_CPU_ARCH:=@OPENJDK_TARGET_CPU_ARCH@
    83 OPENJDK_TARGET_CPU_BITS:=@OPENJDK_TARGET_CPU_BITS@
    82 OPENJDK_TARGET_CPU_BITS:=@OPENJDK_TARGET_CPU_BITS@
    84 OPENJDK_TARGET_CPU_ENDIAN:=@OPENJDK_TARGET_CPU_ENDIAN@
    83 OPENJDK_TARGET_CPU_ENDIAN:=@OPENJDK_TARGET_CPU_ENDIAN@
   107 # Legacy OS values for use in release file.
   106 # Legacy OS values for use in release file.
   108 REQUIRED_OS_NAME:=@REQUIRED_OS_NAME@
   107 REQUIRED_OS_NAME:=@REQUIRED_OS_NAME@
   109 REQUIRED_OS_VERSION:=@REQUIRED_OS_VERSION@
   108 REQUIRED_OS_VERSION:=@REQUIRED_OS_VERSION@
   110 
   109 
   111 @SET_OPENJDK@
   110 @SET_OPENJDK@
   112 JIGSAW:=@JIGSAW@
       
   113 LIBM:=-lm
   111 LIBM:=-lm
   114 LIBDL:=@LIBDL@
   112 LIBDL:=@LIBDL@
   115 
   113 
   116 # colon or semicolon
   114 # colon or semicolon
   117 PATH_SEP:=@PATH_SEP@
   115 PATH_SEP:=@PATH_SEP@
   118 
   116 
   119 # Set special env variables, to be passed to external tools.
   117 ifeq ($(OPENJDK_TARGET_OS), windows)
   120 # Used for cygwin setups.
   118   # On Windows, the Visual Studio toolchain needs the LIB and INCLUDE
   121 @SETUPDEVENV@
   119   # environment variables (in Windows path style), and the PATH needs to
       
   120   # be adjusted to include Visual Studio tools (but this needs to be in
       
   121   # cygwin/msys style).
       
   122   export PATH:=@VS_PATH@
       
   123   export INCLUDE:=@VS_INCLUDE@
       
   124   export LIB:=@VS_LIB@
       
   125 endif
   122 
   126 
   123 # The sys root where standard headers and libraries are found.
   127 # The sys root where standard headers and libraries are found.
   124 # Usually not needed since the configure script should have
   128 # Usually not needed since the configure script should have
   125 # taken it into account already when setting CFLAGS et al.
   129 # taken it into account already when setting CFLAGS et al.
   126 SYS_ROOT:=@SYS_ROOT@
   130 SYS_ROOT:=@SYS_ROOT@
   129 SRC_ROOT:=@SRC_ROOT@
   133 SRC_ROOT:=@SRC_ROOT@
   130 ADD_SRC_ROOT:=@ADD_SRC_ROOT@
   134 ADD_SRC_ROOT:=@ADD_SRC_ROOT@
   131 OVERRIDE_SRC_ROOT:=@OVERRIDE_SRC_ROOT@
   135 OVERRIDE_SRC_ROOT:=@OVERRIDE_SRC_ROOT@
   132 TOPDIR:=@SRC_ROOT@
   136 TOPDIR:=@SRC_ROOT@
   133 OUTPUT_ROOT:=@OUTPUT_ROOT@
   137 OUTPUT_ROOT:=@OUTPUT_ROOT@
   134 JDK_MAKE_SHARED_DIR:=@JDK_TOPDIR@/makefiles/common/shared
       
   135 JDK_TOPDIR:=@JDK_TOPDIR@
   138 JDK_TOPDIR:=@JDK_TOPDIR@
   136 LANGTOOLS_TOPDIR:=@LANGTOOLS_TOPDIR@
   139 LANGTOOLS_TOPDIR:=@LANGTOOLS_TOPDIR@
   137 CORBA_TOPDIR:=@CORBA_TOPDIR@
   140 CORBA_TOPDIR:=@CORBA_TOPDIR@
   138 JAXP_TOPDIR:=@JAXP_TOPDIR@
   141 JAXP_TOPDIR:=@JAXP_TOPDIR@
   139 JAXWS_TOPDIR:=@JAXWS_TOPDIR@
   142 JAXWS_TOPDIR:=@JAXWS_TOPDIR@
   153 LAUNCHER_NAME:=@LAUNCHER_NAME@
   156 LAUNCHER_NAME:=@LAUNCHER_NAME@
   154 PRODUCT_NAME:=@PRODUCT_NAME@
   157 PRODUCT_NAME:=@PRODUCT_NAME@
   155 PRODUCT_SUFFIX:=@PRODUCT_SUFFIX@
   158 PRODUCT_SUFFIX:=@PRODUCT_SUFFIX@
   156 JDK_RC_PLATFORM_NAME:=@JDK_RC_PLATFORM_NAME@
   159 JDK_RC_PLATFORM_NAME:=@JDK_RC_PLATFORM_NAME@
   157 COMPANY_NAME:=@COMPANY_NAME@
   160 COMPANY_NAME:=@COMPANY_NAME@
       
   161 MACOSX_BUNDLE_NAME_BASE=@MACOSX_BUNDLE_NAME_BASE@
       
   162 MACOSX_BUNDLE_ID_BASE=@MACOSX_BUNDLE_ID_BASE@
   158 
   163 
   159 # Different version strings generated from the above information.
   164 # Different version strings generated from the above information.
   160 JDK_VERSION:=@JDK_VERSION@
   165 JDK_VERSION:=@JDK_VERSION@
   161 RUNTIME_NAME:=@RUNTIME_NAME@
   166 RUNTIME_NAME:=@RUNTIME_NAME@
   162 FULL_VERSION:=@FULL_VERSION@
   167 FULL_VERSION:=@FULL_VERSION@
   287 
   292 
   288 C_FLAG_DEPS:=@C_FLAG_DEPS@
   293 C_FLAG_DEPS:=@C_FLAG_DEPS@
   289 CXX_FLAG_DEPS:=@CXX_FLAG_DEPS@
   294 CXX_FLAG_DEPS:=@CXX_FLAG_DEPS@
   290 
   295 
   291 # Tools that potentially need to be cross compilation aware.
   296 # Tools that potentially need to be cross compilation aware.
   292 CC:=@UNCYGDRIVE@ @CCACHE@ @CC@
   297 CC:=@FIXPATH@ @CCACHE@ @CC@
   293 
   298 
   294 # CFLAGS used to compile the jdk native libraries (C-code)
   299 # CFLAGS used to compile the jdk native libraries (C-code)
   295 CFLAGS_JDKLIB:=@CFLAGS_JDKLIB@
   300 CFLAGS_JDKLIB:=@CFLAGS_JDKLIB@
   296 CXXFLAGS_JDKLIB:=@CXXFLAGS_JDKLIB@
   301 CXXFLAGS_JDKLIB:=@CXXFLAGS_JDKLIB@
   297 
   302 
   298 # CFLAGS used to compile the jdk native launchers (C-code)
   303 # CFLAGS used to compile the jdk native launchers (C-code)
   299 CFLAGS_JDKEXE:=@CFLAGS_JDKEXE@
   304 CFLAGS_JDKEXE:=@CFLAGS_JDKEXE@
   300 CXXFLAGS_JDKEXE:=@CXXFLAGS_JDKEXE@
   305 CXXFLAGS_JDKEXE:=@CXXFLAGS_JDKEXE@
   301 
   306 
   302 CXX:=@UNCYGDRIVE@ @CCACHE@ @CXX@
   307 CXX:=@FIXPATH@ @CCACHE@ @CXX@
   303 #CXXFLAGS:=@CXXFLAGS@
   308 #CXXFLAGS:=@CXXFLAGS@
   304 
   309 
   305 OBJC:=@CCACHE@ @OBJC@
   310 OBJC:=@CCACHE@ @OBJC@
   306 #OBJCFLAGS:=@OBJCFLAGS@
   311 #OBJCFLAGS:=@OBJCFLAGS@
   307 
   312 
   308 CPP:=@UNCYGDRIVE@ @CPP@
   313 CPP:=@FIXPATH@ @CPP@
   309 #CPPFLAGS:=@CPPFLAGS@
   314 #CPPFLAGS:=@CPPFLAGS@
   310 
   315 
   311 # The linker can be gcc or ld on posix systems, or link.exe on windows systems.
   316 # The linker can be gcc or ld on posix systems, or link.exe on windows systems.
   312 LD:=@UNCYGDRIVE@ @LD@
   317 LD:=@FIXPATH@ @LD@
   313 
   318 
   314 # LDFLAGS used to link the jdk native libraries (C-code)
   319 # LDFLAGS used to link the jdk native libraries (C-code)
   315 LDFLAGS_JDKLIB:=@LDFLAGS_JDKLIB@
   320 LDFLAGS_JDKLIB:=@LDFLAGS_JDKLIB@
   316 LDFLAGS_JDKLIB_SUFFIX:=@LDFLAGS_JDKLIB_SUFFIX@
   321 LDFLAGS_JDKLIB_SUFFIX:=@LDFLAGS_JDKLIB_SUFFIX@
   317 
   322 
   318 # On some platforms the linker cannot be used to create executables, thus
   323 # On some platforms the linker cannot be used to create executables, thus
   319 # the need for a separate LDEXE command.
   324 # the need for a separate LDEXE command.
   320 LDEXE:=@UNCYGDRIVE@ @LDEXE@
   325 LDEXE:=@FIXPATH@ @LDEXE@
   321 
   326 
   322 # LDFLAGS used to link the jdk native launchers (C-code)
   327 # LDFLAGS used to link the jdk native launchers (C-code)
   323 LDFLAGS_JDKEXE:=@LDFLAGS_JDKEXE@
   328 LDFLAGS_JDKEXE:=@LDFLAGS_JDKEXE@
   324 LDFLAGS_JDKEXE_SUFFIX:=@LDFLAGS_JDKEXE_SUFFIX@
   329 LDFLAGS_JDKEXE_SUFFIX:=@LDFLAGS_JDKEXE_SUFFIX@
   325 
   330 
   326 # LDFLAGS specific to C++ linking.
   331 # LDFLAGS specific to C++ linking.
   327 LDFLAGS_CXX_JDK:=@LDFLAGS_CXX_JDK@
   332 LDFLAGS_CXX_JDK:=@LDFLAGS_CXX_JDK@
   328 
   333 
   329 # Sometimes a different linker is needed for c++ libs
   334 # Sometimes a different linker is needed for c++ libs
   330 LDCXX:=@UNCYGDRIVE@ @LDCXX@
   335 LDCXX:=@FIXPATH@ @LDCXX@
   331 # The flags for linking libstdc++ linker.
   336 # The flags for linking libstdc++ linker.
   332 LIBCXX:=@LIBCXX@
   337 LIBCXX:=@LIBCXX@
   333 
   338 
   334 # Sometimes a different linker is needed for c++ executables
   339 # Sometimes a different linker is needed for c++ executables
   335 LDEXECXX:=@UNCYGDRIVE@ @LDEXECXX@
   340 LDEXECXX:=@FIXPATH@ @LDEXECXX@
   336 
   341 
   337 # BUILD_CC/BUILD_LD is a compiler/linker that generates code that is runnable on the
   342 # BUILD_CC/BUILD_LD is a compiler/linker that generates code that is runnable on the
   338 # build platform.
   343 # build platform.
   339 BUILD_CC:=@UNCYGDRIVE@ @BUILD_CC@
   344 BUILD_CC:=@FIXPATH@ @BUILD_CC@
   340 BUILD_LD:=@UNCYGDRIVE@ @BUILD_LD@
   345 BUILD_LD:=@FIXPATH@ @BUILD_LD@
   341 
   346 
   342 AS:=@UNCYGDRIVE@ @AS@
   347 AS:=@FIXPATH@ @AS@
   343 
   348 
   344 # AR is used to create a static library (is ar in posix, lib.exe in windows)
   349 # AR is used to create a static library (is ar in posix, lib.exe in windows)
   345 AR:=@UNCYGDRIVE@ @AR@
   350 AR:=@FIXPATH@ @AR@
   346 ARFLAGS:=@ARFLAGS@
   351 ARFLAGS:=@ARFLAGS@
   347 
   352 
   348 NM:=@NM@
   353 NM:=@NM@
   349 STRIP:=@STRIP@
   354 STRIP:=@STRIP@
   350 MCS:=@MCS@
   355 MCS:=@MCS@
   398 POST_STRIP_CMD:=@POST_STRIP_CMD@
   403 POST_STRIP_CMD:=@POST_STRIP_CMD@
   399 POST_MCS_CMD:=@POST_MCS_CMD@
   404 POST_MCS_CMD:=@POST_MCS_CMD@
   400 
   405 
   401 JAVA_FLAGS:=@BOOT_JDK_JVMARGS@
   406 JAVA_FLAGS:=@BOOT_JDK_JVMARGS@
   402 
   407 
   403 JAVA=@UNCYGDRIVE@ $(BOOT_JDK)/bin/java $(JAVA_FLAGS)
   408 JAVA=@FIXPATH@ $(BOOT_JDK)/bin/java $(JAVA_FLAGS)
   404 
   409 
   405 JAVAC=@UNCYGDRIVE@ $(BOOT_JDK)/bin/javac
   410 JAVAC=@FIXPATH@ $(BOOT_JDK)/bin/javac
   406 # Hotspot sets this variable before reading the SPEC when compiling sa-jdi.jar. Avoid
   411 # Hotspot sets this variable before reading the SPEC when compiling sa-jdi.jar. Avoid
   407 # overriding that value by using ?=.
   412 # overriding that value by using ?=.
   408 JAVAC_FLAGS?=@JAVAC_FLAGS@
   413 JAVAC_FLAGS?=@JAVAC_FLAGS@
   409 
   414 
   410 JAVAH=@UNCYGDRIVE@ $(BOOT_JDK)/bin/javah
   415 JAVAH=@FIXPATH@ $(BOOT_JDK)/bin/javah
   411 
   416 
   412 JAR=@UNCYGDRIVE@ $(BOOT_JDK)/bin/jar
   417 JAR=@FIXPATH@ $(BOOT_JDK)/bin/jar
   413 
   418 
   414 RMIC=@UNCYGDRIVE@ $(BOOT_JDK)/bin/rmic
   419 RMIC=@FIXPATH@ $(BOOT_JDK)/bin/rmic
   415 
   420 
   416 NATIVE2ASCII=@UNCYGDRIVE@ $(BOOT_JDK)/bin/native2ascii
   421 NATIVE2ASCII=@FIXPATH@ $(BOOT_JDK)/bin/native2ascii
   417 
   422 
   418 # Base flags for RC
   423 # Base flags for RC
   419 # Guarding this against resetting value. Legacy make files include spec multiple
   424 # Guarding this against resetting value. Legacy make files include spec multiple
   420 # times.
   425 # times.
   421 ifndef RC_FLAGS
   426 ifndef RC_FLAGS
   422 RC_FLAGS:=@RC_FLAGS@
   427 RC_FLAGS:=@RC_FLAGS@
   423 endif
   428 endif
   424 
   429 
   425 # A specific java binary with specific options can be used to run
   430 # A specific java binary with specific options can be used to run
   426 # the long running background sjavac servers and other long running tasks.
   431 # the long running background sjavac servers and other long running tasks.
   427 SJAVAC_SERVER_JAVA:=@UNCYGDRIVE@ @SJAVAC_SERVER_JAVA@
   432 SJAVAC_SERVER_JAVA:=@FIXPATH@ @SJAVAC_SERVER_JAVA@
   428 
   433 
   429 # Tools adhering to a minimal and common standard of posix compliance.
   434 # Tools adhering to a minimal and common standard of posix compliance.
   430 AWK:=@AWK@
   435 AWK:=@AWK@
   431 BASENAME:=@BASENAME@
   436 BASENAME:=@BASENAME@
       
   437 BASH:=@BASH@
   432 CAT:=@CAT@
   438 CAT:=@CAT@
   433 CCACHE:=@CCACHE@
   439 CCACHE:=@CCACHE@
   434 # CD is going away, but remains to cater for legacy makefiles.
   440 # CD is going away, but remains to cater for legacy makefiles.
   435 CD:=cd
   441 CD:=cd
   436 CHMOD:=@CHMOD@
   442 CHMOD:=@CHMOD@
   437 CP:=@CP@
   443 CP:=@CP@
   438 CPIO:=@CPIO@
       
   439 CUT:=@CUT@
   444 CUT:=@CUT@
   440 DATE:=@DATE@
   445 DATE:=@DATE@
   441 DF:=@DF@
       
   442 DIFF:=@DIFF@
   446 DIFF:=@DIFF@
   443 FIND:=@FIND@
   447 FIND:=@FIND@
   444 FIND_DELETE:=@FIND_DELETE@
   448 FIND_DELETE:=@FIND_DELETE@
   445 ECHO:=@ECHO@
   449 ECHO:=@ECHO@
   446 EGREP:=@EGREP@
   450 EGREP:=@EGREP@
   459 SH:=@SH@
   463 SH:=@SH@
   460 SORT:=@SORT@
   464 SORT:=@SORT@
   461 TAR:=@TAR@
   465 TAR:=@TAR@
   462 TAIL:=@TAIL@
   466 TAIL:=@TAIL@
   463 TEE:=@TEE@
   467 TEE:=@TEE@
       
   468 TIME:=@TIME@
   464 TR:=@TR@
   469 TR:=@TR@
   465 TOUCH:=@TOUCH@
   470 TOUCH:=@TOUCH@
   466 WC:=@WC@
   471 WC:=@WC@
   467 XARGS:=@XARGS@
   472 XARGS:=@XARGS@
   468 ZIPEXE:=@ZIP@
   473 ZIPEXE:=@ZIP@
   469 ZIP:=@ZIP@
   474 ZIP:=@ZIP@
   470 UNZIP:=@UNZIP@
   475 UNZIP:=@UNZIP@
   471 MT:=@UNCYGDRIVE@ @MT@
   476 MT:=@FIXPATH@ @MT@
   472 RC:=@UNCYGDRIVE@ @RC@
   477 RC:=@FIXPATH@ @RC@
   473 DUMPBIN:=@UNCYGDRIVE@ @DUMPBIN@
   478 DUMPBIN:=@FIXPATH@ @DUMPBIN@
   474 CYGPATH:=@CYGPATH@
   479 CYGPATH:=@CYGPATH@
   475 LDD:=@LDD@
   480 LDD:=@LDD@
   476 OTOOL:=@OTOOL@
   481 OTOOL:=@OTOOL@
   477 READELF:=@READELF@
   482 READELF:=@READELF@
   478 EXPR:=@EXPR@
   483 EXPR:=@EXPR@
   479 FILE:=@FILE@
   484 FILE:=@FILE@
   480 HG:=@HG@
   485 HG:=@HG@
   481 OBJCOPY:=@OBJCOPY@
   486 OBJCOPY:=@OBJCOPY@
   482 
   487 SETFILE:=@SETFILE@
   483 UNCYGDRIVE:=@UNCYGDRIVE@
   488 
       
   489 FIXPATH:=@FIXPATH@
   484 
   490 
   485 # Where the build output is stored for your convenience.
   491 # Where the build output is stored for your convenience.
   486 BUILD_LOG:=@BUILD_LOG@
   492 BUILD_LOG:=@BUILD_LOG@
   487 BUILD_LOG_PREVIOUS:=@BUILD_LOG_PREVIOUS@
   493 BUILD_LOG_PREVIOUS:=@BUILD_LOG_PREVIOUS@
   488 BUILD_LOG_WRAPPER:=@BUILD_LOG_WRAPPER@
   494 BUILD_LOG_WRAPPER:=@BUILD_LOG_WRAPPER@
   489 
   495 
   490 # Build setup
   496 # Build setup
   491 DISABLE_NIMBUS:=@DISABLE_NIMBUS@
       
   492 ENABLE_JFR=@ENABLE_JFR@
   497 ENABLE_JFR=@ENABLE_JFR@
   493 USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@
   498 USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@
   494 USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@
   499 USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@
   495 USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@
   500 USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@
   496 LIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@
   501 LIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@
   497 CHECK_FOR_VCINSTALLDIR=@CHECK_FOR_VCINSTALLDIR@
   502 MSVCR_DLL:=@MSVCR_DLL@
   498 MSVCRNN_DLL:=@MSVCR100DLL@
       
   499 
   503 
   500 
   504 
   501 # ADD_SRCS takes a single argument with source roots
   505 # ADD_SRCS takes a single argument with source roots
   502 # and appends any corresponding source roots found
   506 # and appends any corresponding source roots found
   503 # below --with-add-source-root and below
   507 # below --with-add-source-root and below