jdk/makefiles/lib/NetworkingLibraries.gmk
changeset 20890 9d7cc1b4291b
parent 20547 453837141fac
child 20896 df76d62dc5ff
equal deleted inserted replaced
20626:ad67c34f79c2 20890:9d7cc1b4291b
       
     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), 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_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \
       
    72         delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \
       
    73         -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \
       
    74     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
    75     RC_FLAGS := $(RC_FLAGS) \
       
    76         -D "JDK_FNAME=net.dll" \
       
    77         -D "JDK_INTERNAL_NAME=net" \
       
    78         -D "JDK_FTYPE=0x2L", \
       
    79     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libnet, \
       
    80     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
    81 
       
    82 $(BUILD_LIBNET): $(BUILD_LIBJAVA)
       
    83 
       
    84 BUILD_LIBRARIES += $(BUILD_LIBNET)
       
    85 
       
    86 $(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
       
    87 	$(ECHO) $(LOG_INFO) Copying $(@F)
       
    88 	$(call install-file)
       
    89 
       
    90 COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
       
    91 
       
    92 ifeq ($(OPENJDK_TARGET_OS), solaris)
       
    93   $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template: $(JDK_TOPDIR)/src/${OPENJDK_TARGET_OS_API_DIR}/lib/sdp/sdp.conf.template
       
    94 	$(ECHO) $(LOG_INFO) Copying $(@F)
       
    95 	$(call install-file)
       
    96 
       
    97   COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
       
    98 endif