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 ifeq (, $(filter $(OPENJDK_TARGET_OS), linux aix)) 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), windows) 49 LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c 50 else 51 LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \ 52 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \ 53 NTLMAuthSequence.c NetworkInterface_winXP.c 54 endif 55 56 $(eval $(call SetupNativeCompilation,BUILD_LIBNET, \ 57 LIBRARY := net, \ 58 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 59 SRC := $(LIBNET_SRC_DIRS), \ 60 EXCLUDE_FILES := $(LIBNET_EXCLUDE_FILES), \ 61 LANG := C, \ 62 OPTIMIZATION := LOW, \ 63 CFLAGS := $(CFLAGS_JDKLIB) \ 64 $(LIBNET_CFLAGS), \ 65 MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \ 66 LDFLAGS := $(LDFLAGS_JDKLIB) \ 67 $(call SET_SHARED_LIBRARY_ORIGIN), \ 68 LDFLAGS_SUFFIX_macosx := -ljvm -ljava, \ 69 LDFLAGS_SUFFIX_solaris := -ljvm -ljava -lnsl -lsocket $(LIBDL) -lc, \ 70 LDFLAGS_SUFFIX_linux := $(LIBDL) -ljvm -lpthread -ljava, \ 71 LDFLAGS_SUFFIX_aix := $(LIBDL) -ljvm -ljava,\ 72 LDFLAGS_SUFFIX_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \ 73 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \ 74 -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \ 75 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ 76 RC_FLAGS := $(RC_FLAGS) \ 77 -D "JDK_FNAME=net.dll" \ 78 -D "JDK_INTERNAL_NAME=net" \ 79 -D "JDK_FTYPE=0x2L", \ 80 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libnet, \ 81 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 82 83 $(BUILD_LIBNET): $(BUILD_LIBJAVA) 84 85 BUILD_LIBRARIES += $(BUILD_LIBNET) 86 87 $(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties 88 $(ECHO) $(LOG_INFO) Copying $(@F) 89 $(call install-file) 90 91 COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties 92 93 ifeq ($(OPENJDK_TARGET_OS), solaris) 94 $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template: $(JDK_TOPDIR)/src/${OPENJDK_TARGET_OS_API_DIR}/lib/sdp/sdp.conf.template 95 $(ECHO) $(LOG_INFO) Copying $(@F) 96 $(call install-file) 97 98 COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template 99 endif