1 # 2 # Copyright (c) 2011, 2013, 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 LIBNET_SRC_DIRS := $(JDK_TOPDIR)/src/share/native/java/net \ 27 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \ 28 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \ 29 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi 30 31 ifeq ($(OPENJDK_TARGET_OS), windows) 32 LIBNET_SRC_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm 33 else 34 LIBNET_SRC_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp 35 endif 36 37 LIBNET_CFLAGS := $(foreach dir, $(LIBNET_SRC_DIRS), -I$(dir)) 38 39 LIBNET_EXCLUDE_FILES := 40 ifneq ($(OPENJDK_TARGET_OS), linux) 41 LIBNET_EXCLUDE_FILES += linux_close.c 42 endif 43 44 ifneq ($(OPENJDK_TARGET_OS), macosx) 45 LIBNET_EXCLUDE_FILES += bsd_close.c 46 endif 47 48 ifeq ($(OPENJDK_TARGET_OS), aix) 49 LIBNET_SRC_DIRS += $(JDK_TOPDIR)/src/aix/native/java/net/ 50 endif 51 52 ifeq ($(OPENJDK_TARGET_OS), windows) 53 LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c 54 else 55 LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \ 56 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \ 57 NTLMAuthSequence.c NetworkInterface_winXP.c 58 endif 59 60 $(eval $(call SetupNativeCompilation,BUILD_LIBNET, \ 61 LIBRARY := net, \ 62 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 63 SRC := $(LIBNET_SRC_DIRS), \ 64 EXCLUDE_FILES := $(LIBNET_EXCLUDE_FILES), \ 65 LANG := C, \ 66 OPTIMIZATION := LOW, \ 67 CFLAGS := $(CFLAGS_JDKLIB) \ 68 $(LIBNET_CFLAGS), \ 69 MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \ 70 LDFLAGS := $(LDFLAGS_JDKLIB) \ 71 $(call SET_SHARED_LIBRARY_ORIGIN), \ 72 LDFLAGS_SUFFIX_macosx := -ljvm -ljava, \ 73 LDFLAGS_SUFFIX_solaris := -ljvm -ljava -lnsl -lsocket $(LIBDL) -lc, \ 74 LDFLAGS_SUFFIX_linux := $(LIBDL) -ljvm -lpthread -ljava, \ 75 LDFLAGS_SUFFIX_aix := $(LIBDL) -ljvm -ljava,\ 76 LDFLAGS_SUFFIX_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \ 77 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \ 78 -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \ 79 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ 80 RC_FLAGS := $(RC_FLAGS) \ 81 -D "JDK_FNAME=net.dll" \ 82 -D "JDK_INTERNAL_NAME=net" \ 83 -D "JDK_FTYPE=0x2L", \ 84 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libnet, \ 85 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 86 87 $(BUILD_LIBNET): $(BUILD_LIBJAVA) 88 89 BUILD_LIBRARIES += $(BUILD_LIBNET) 90 91 $(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties 92 $(ECHO) $(LOG_INFO) Copying $(@F) 93 $(call install-file) 94 95 COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties 96 97 ifeq ($(OPENJDK_TARGET_OS), solaris) 98 $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template: $(JDK_TOPDIR)/src/${OPENJDK_TARGET_OS_API_DIR}/lib/sdp/sdp.conf.template 99 $(ECHO) $(LOG_INFO) Copying $(@F) 100 $(call install-file) 101 102 COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template 103 endif