make/test/JtregNativeHotspot.gmk
author ihse
Thu, 15 Mar 2018 19:33:04 +0100
changeset 49253 26f624b33218
parent 49241 de4b3a04feae
child 49412 2c3b9dbba7bc
permissions -rw-r--r--
8199681: Remove boilerplate code from creating native jtreg tests Reviewed-by: erikj
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29179
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
     1
#
48790
423faefc77df 8153629: Need to cover JVMTI's GetOwnedMonitorStackDepthInfo function
dtitov
parents: 48631
diff changeset
     2
# Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
29179
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
     4
#
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
     7
# published by the Free Software Foundation.  Oracle designates this
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
     8
# particular file as subject to the "Classpath" exception as provided
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
     9
# by Oracle in the LICENSE file that accompanied this code.
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    10
#
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    11
# This code is distributed in the hope that it will be useful, but WITHOUT
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    13
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    14
# version 2 for more details (a copy is included in the LICENSE file that
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    15
# accompanied this code).
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    16
#
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    17
# You should have received a copy of the GNU General Public License version
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    18
# 2 along with this work; if not, write to the Free Software Foundation,
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    20
#
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    22
# or visit www.oracle.com if you need additional information or have any
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    23
# questions.
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    24
#
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    25
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    26
################################################################################
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    27
# This file builds the native component of the JTReg tests for Hotspot.
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    28
# It also covers the test-image part, where the built files are copied to the
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    29
# test image.
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    30
################################################################################
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    31
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    32
default: all
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    33
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    34
include $(SPEC)
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    35
include MakeBase.gmk
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    36
include TestFilesCompilation.gmk
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    37
47326
00f9fe99736e 8188050: UnsatisfiedLinkError after repo consolidation
erikj
parents: 47314
diff changeset
    38
$(eval $(call IncludeCustomExtension, test/JtregNativeHotspot.gmk))
46302
89b28b206eb2 8136650: Add support for custom jtreg native tests
rehn
parents: 42646
diff changeset
    39
29179
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    40
################################################################################
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    41
# Targets for building the native tests themselves.
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    42
################################################################################
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    43
49253
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    44
# This might have been added to by a custom extension.
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    45
BUILD_HOTSPOT_JTREG_NATIVE_SRC += $(TOPDIR)/test/hotspot/jtreg
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    46
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    47
BUILD_HOTSPOT_JTREG_OUTPUT_DIR := $(OUTPUTDIR)/support/test/hotspot/jtreg/native
29179
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    48
49253
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    49
BUILD_HOTSPOT_JTREG_IMAGE_DIR := $(TEST_IMAGE_DIR)/hotspot/jtreg
34233
2cf348387c44 8141445: Use of Solaris/SPARC M7 libadimalloc.so can generate unknown signal in hs_err file
gthornbr
parents: 33791
diff changeset
    50
49253
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    51
# Platform specific setup
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    52
ifneq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    53
  BUILD_HOTSPOT_JTREG_EXCLUDE += liboverflow.c exeThreadSignalMask.c
39972
2c3c3b7c20d2 8081770: [TESTBUG] regression Test7107135 needs to remove dependence on locally installed gcc
gthornbr
parents: 39706
diff changeset
    54
endif
2c3c3b7c20d2 8081770: [TESTBUG] regression Test7107135 needs to remove dependence on locally installed gcc
gthornbr
parents: 39706
diff changeset
    55
2c3c3b7c20d2 8081770: [TESTBUG] regression Test7107135 needs to remove dependence on locally installed gcc
gthornbr
parents: 39706
diff changeset
    56
ifeq ($(OPENJDK_TARGET_OS), linux)
2c3c3b7c20d2 8081770: [TESTBUG] regression Test7107135 needs to remove dependence on locally installed gcc
gthornbr
parents: 39706
diff changeset
    57
    BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rw := -z noexecstack
2c3c3b7c20d2 8081770: [TESTBUG] regression Test7107135 needs to remove dependence on locally installed gcc
gthornbr
parents: 39706
diff changeset
    58
    BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rwx := -z execstack
40630
661bccd1031a 8164297: Jtreg test exeinvoke fails to link on Ubuntu
erikj
parents: 40342
diff changeset
    59
    BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exeinvoke := -ljvm -lpthread
49253
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    60
    BUILD_TEST_exeinvoke_exeinvoke.c_OPTIMIZATION := NONE
42562
05d726daa164 8169261: Fix for JDK-8067744 creates build failures with some versions of gcc and/or linux
kvn
parents: 42076
diff changeset
    61
    BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exeFPRegs := -ldl
49253
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    62
else
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    63
  BUILD_HOTSPOT_JTREG_EXCLUDE += libtest-rw.c libtest-rwx.c libTestJNI.c \
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    64
      exeinvoke.c
42076
d6c3ecec1d34 8067744: XMM/SSE float register values corrupted by JNI_CreateVM call in JRE 8 (Windows)
kvn
parents: 41669
diff changeset
    65
endif
d6c3ecec1d34 8067744: XMM/SSE float register values corrupted by JNI_CreateVM call in JRE 8 (Windows)
kvn
parents: 41669
diff changeset
    66
d6c3ecec1d34 8067744: XMM/SSE float register values corrupted by JNI_CreateVM call in JRE 8 (Windows)
kvn
parents: 41669
diff changeset
    67
ifeq ($(OPENJDK_TARGET_OS), windows)
d6c3ecec1d34 8067744: XMM/SSE float register values corrupted by JNI_CreateVM call in JRE 8 (Windows)
kvn
parents: 41669
diff changeset
    68
    BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS_exeFPRegs := -MT
39972
2c3c3b7c20d2 8081770: [TESTBUG] regression Test7107135 needs to remove dependence on locally installed gcc
gthornbr
parents: 39706
diff changeset
    69
endif
2c3c3b7c20d2 8081770: [TESTBUG] regression Test7107135 needs to remove dependence on locally installed gcc
gthornbr
parents: 39706
diff changeset
    70
29179
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    71
$(eval $(call SetupTestFilesCompilation, BUILD_HOTSPOT_JTREG_LIBRARIES, \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    72
    TYPE := LIBRARY, \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    73
    SOURCE_DIRS := $(BUILD_HOTSPOT_JTREG_NATIVE_SRC), \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    74
    OUTPUT_DIR := $(BUILD_HOTSPOT_JTREG_OUTPUT_DIR), \
49253
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    75
    EXCLUDE := $(BUILD_HOTSPOT_JTREG_EXCLUDE), \
29179
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    76
))
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    77
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    78
$(eval $(call SetupTestFilesCompilation, BUILD_HOTSPOT_JTREG_EXECUTABLES, \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    79
    TYPE := PROGRAM, \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    80
    SOURCE_DIRS := $(BUILD_HOTSPOT_JTREG_NATIVE_SRC), \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    81
    OUTPUT_DIR := $(BUILD_HOTSPOT_JTREG_OUTPUT_DIR), \
49253
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    82
    EXCLUDE := $(BUILD_HOTSPOT_JTREG_EXCLUDE), \
29179
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    83
))
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    84
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    85
build-test-hotspot-jtreg-native: $(BUILD_HOTSPOT_JTREG_LIBRARIES) $(BUILD_HOTSPOT_JTREG_EXECUTABLES)
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    86
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    87
################################################################################
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    88
# Targets for building test-image.
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    89
################################################################################
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    90
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    91
# Copy to hotspot jtreg test image
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    92
$(eval $(call SetupCopyFiles,COPY_HOTSPOT_JTREG_NATIVE, \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    93
    SRC := $(BUILD_HOTSPOT_JTREG_OUTPUT_DIR), \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    94
    DEST := $(TEST_IMAGE_DIR)/hotspot/jtreg/native, \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    95
    FILES := $(BUILD_HOTSPOT_JTREG_LIBRARIES) $(BUILD_HOTSPOT_JTREG_EXECUTABLES), \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    96
    FLATTEN := true))
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    97
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    98
test-image-hotspot-jtreg-native: $(COPY_HOTSPOT_JTREG_NATIVE)
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    99
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   100
all: build-test-hotspot-jtreg-native
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   101
test-image: test-image-hotspot-jtreg-native
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   102
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   103
.PHONY: default all build-test-hotspot-jtreg-native test-image-hotspot-jtreg-native test-image