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