1 # 2 # Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 # 5 # This code is free software; you can redistribute it and/or modify it 6 # under the terms of the GNU General Public License version 2 only, as 7 # published by the Free Software Foundation. Oracle designates this 8 # particular file as subject to the "Classpath" exception as provided 9 # by Oracle in the LICENSE file that accompanied this code. 10 # 11 # This code is distributed in the hope that it will be useful, but WITHOUT 12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 # version 2 for more details (a copy is included in the LICENSE file that 15 # accompanied this code). 16 # 17 # You should have received a copy of the GNU General Public License version 18 # 2 along with this work; if not, write to the Free Software Foundation, 19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 # 21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 # or visit www.oracle.com if you need additional information or have any 23 # questions. 24 # 25 26 include LibCommon.gmk 27 28 ################################################################################ 29 30 LIBDT_SOCKET_SRC := $(JDK_TOPDIR)/src/jdk.jdwp.agent/share/native/libdt_socket \ 31 $(JDK_TOPDIR)/src/jdk.jdwp.agent/$(OPENJDK_TARGET_OS_TYPE)/native/libdt_socket 32 LIBDT_SOCKET_CPPFLAGS := \ 33 $(addprefix -I, $(LIBDT_SOCKET_SRC)) \ 34 -I$(JDK_TOPDIR)/src/jdk.jdwp.agent/share/native/libjdwp/export \ 35 -I$(JDK_TOPDIR)/src/jdk.jdwp.agent/share/native/libjdwp \ 36 -I$(JDK_TOPDIR)/src/jdk.jdwp.agent/share/native/include \ 37 # 38 39 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET, \ 40 LIBRARY := dt_socket, \ 41 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 42 SRC := $(LIBDT_SOCKET_SRC), \ 43 OPTIMIZATION := LOW, \ 44 CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP \ 45 $(LIBDT_SOCKET_CPPFLAGS), \ 46 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libdt_socket/mapfile-vers, \ 47 LDFLAGS := $(LDFLAGS_JDKLIB) \ 48 $(call SET_SHARED_LIBRARY_ORIGIN), \ 49 LDFLAGS_windows := -export:jdwpTransport_OnLoad, \ 50 LIBS_linux := -lpthread, \ 51 LIBS_solaris := -lnsl -lsocket -lc, \ 52 LIBS_windows := $(JDKLIB_LIBS) ws2_32.lib, \ 53 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \ 54 RC_FLAGS := $(RC_FLAGS) \ 55 -D "JDK_FNAME=dt_socket.dll" \ 56 -D "JDK_INTERNAL_NAME=dt_socket" \ 57 -D "JDK_FTYPE=0x2L", \ 58 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libdt_socket, \ 59 DEBUG_SYMBOLS := true)) 60 61 $(BUILD_LIBDT_SOCKET): $(call FindLib, java.base, java) 62 63 # Include socket transport with JDWP agent to allow for remote debugging 64 TARGETS += $(BUILD_LIBDT_SOCKET) 65 66 ################################################################################ 67 68 LIBJDWP_SRC := $(JDK_TOPDIR)/src/jdk.jdwp.agent/share/native/libjdwp \ 69 $(JDK_TOPDIR)/src/jdk.jdwp.agent/$(OPENJDK_TARGET_OS_TYPE)/native/libjdwp 70 LIBJDWP_CPPFLAGS := \ 71 -I$(JDK_TOPDIR)/src/jdk.jdwp.agent/share/native/libjdwp/export \ 72 -I$(JDK_TOPDIR)/src/jdk.jdwp.agent/share/native/include \ 73 $(addprefix -I, $(LIBJDWP_SRC)) 74 75 # JDWP_LOGGING causes log messages to be compiled into the library. 76 $(eval $(call SetupNativeCompilation,BUILD_LIBJDWP, \ 77 LIBRARY := jdwp, \ 78 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 79 SRC := $(LIBJDWP_SRC), \ 80 OPTIMIZATION := LOW, \ 81 CFLAGS := $(CFLAGS_JDKLIB) -DJDWP_LOGGING \ 82 $(LIBJDWP_CPPFLAGS) \ 83 -I$(SUPPORT_OUTPUTDIR)/headers/jdk.jdwp.agent, \ 84 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjdwp/mapfile-vers, \ 85 LDFLAGS := $(LDFLAGS_JDKLIB) \ 86 $(call SET_SHARED_LIBRARY_ORIGIN), \ 87 LIBS := $(JDKLIB_LIBS), \ 88 LIBS_linux := $(LIBDL), \ 89 LIBS_solaris := $(LIBDL), \ 90 LIBS_macosx := -liconv, \ 91 LIBS_aix := -liconv, \ 92 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \ 93 RC_FLAGS := $(RC_FLAGS) \ 94 -D "JDK_FNAME=jdwp.dll" \ 95 -D "JDK_INTERNAL_NAME=jdwp" \ 96 -D "JDK_FTYPE=0x2L", \ 97 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjdwp, \ 98 DEBUG_SYMBOLS := true)) 99 100 $(BUILD_LIBJDWP): $(call FindLib, java.base, java) 101 102 TARGETS += $(BUILD_LIBJDWP) 103 104 ################################################################################ 105 106 ifeq ($(STATIC_BUILD), true) 107 JDK_JDWP_AGENT_EXPORT_SYMBOLS_SRC := \ 108 $(SUPPORT_OUTPUTDIR)/modules_libs/jdk.jdwp.agent/$(LIBRARY_PREFIX)dt_socket.symbols \ 109 $(SUPPORT_OUTPUTDIR)/modules_libs/jdk.jdwp.agent/$(LIBRARY_PREFIX)jdwp.symbols 110 111 JDK_JDWP_AGENT_EXPORT_SYMBOL_FILE := $(SUPPORT_OUTPUTDIR)/modules_libs/jdk.jdwp.agent/jdk.jdwp.agent.symbols 112 113 $(JDK_JDWP_AGENT_EXPORT_SYMBOL_FILE): $(JDK_JDWP_AGENT_EXPORT_SYMBOLS_SRC) 114 $(call LogInfo, Generating jdk.jdwp.agent symbols file) 115 $(CAT) $^ > $@ 116 117 # The individual symbol files is generated when the respective lib is built 118 $(JDK_JDWP_AGENT_EXPORT_SYMBOLS_SRC): $(BUILD_LIBDT_SOCKET) $(BUILD_LIBJDWP) 119 120 TARGETS += $(JDK_JDWP_AGENT_EXPORT_SYMBOL_FILE) 121 122 endif 123 124 ################################################################################