jdk/makefiles/CompileNativeLibraries.gmk
changeset 22332 fba4c66089bb
parent 22317 b420ef26d238
parent 20884 66f924cdfeb9
equal deleted inserted replaced
22331:f65a493da643 22332:fba4c66089bb
    34 
    34 
    35 # Copy files (can now depend on $(COPY_FILES))
    35 # Copy files (can now depend on $(COPY_FILES))
    36 include CopyFiles.gmk
    36 include CopyFiles.gmk
    37 
    37 
    38 # Prepare the find cache. Only used if running on windows.
    38 # Prepare the find cache. Only used if running on windows.
    39 $(eval $(call FillCacheFind,$(JDK_TOPDIR)/src))
    39 $(eval $(call FillCacheFind, $(JDK_TOPDIR)/src))
    40 
    40 
    41 # Build tools
    41 # Build tools
    42 include Tools.gmk
    42 include Tools.gmk
    43 
    43 
    44 # Include the javah generated headers.
    44 # Include the javah generated headers.
    45 CFLAGS_JDKLIB += -I$(JDK_OUTPUTDIR)/gensrc_headers
    45 CFLAGS_JDKLIB += -I$(JDK_OUTPUTDIR)/gensrc_headers
    46 CXXFLAGS_JDKLIB += -I$(JDK_OUTPUTDIR)/gensrc_headers
    46 CXXFLAGS_JDKLIB += -I$(JDK_OUTPUTDIR)/gensrc_headers
    47 
    47 
    48 # Put the libraries here. Different locations for different target apis.
    48 # Put the libraries here. Different locations for different target apis.
    49 ifeq ($(OPENJDK_TARGET_OS_API),posix)
    49 ifeq ($(OPENJDK_TARGET_OS_API), posix)
    50     INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)
    50   INSTALL_LIBRARIES_HERE := $(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)
    51 else
    51 else
    52     INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/bin
    52   INSTALL_LIBRARIES_HERE := $(JDK_OUTPUTDIR)/bin
    53 endif
    53 endif
    54 
    54 
    55 BUILD_LIBRARIES=
    55 BUILD_LIBRARIES =
    56 
    56 
    57 # Absolute paths to lib files on windows for use in LDFLAGS. Should figure out a more
    57 # Absolute paths to lib files on windows for use in LDFLAGS. Should figure out a more
    58 # elegant solution to this.
    58 # elegant solution to this.
    59 WIN_VERIFY_LIB := $(JDK_OUTPUTDIR)/objs/libverify/verify.lib
    59 WIN_VERIFY_LIB := $(JDK_OUTPUTDIR)/objs/libverify/verify.lib
    60 WIN_JAVA_LIB := $(JDK_OUTPUTDIR)/objs/libjava/java.lib
    60 WIN_JAVA_LIB := $(JDK_OUTPUTDIR)/objs/libjava/java.lib
    61 WIN_AWT_LIB := $(JDK_OUTPUTDIR)/objs/libawt/awt.lib
    61 WIN_AWT_LIB := $(JDK_OUTPUTDIR)/objs/libawt/awt.lib
    62 
    62 
    63 # Use this variable to set DEBUG_SYMBOLS true on windows for all libraries, but
    63 # Use this variable to set DEBUG_SYMBOLS true on windows for all libraries, but
    64 # not on other platforms.
    64 # not on other platforms.
    65 ifeq ($(OPENJDK_TARGET_OS), windows)
    65 ifeq ($(OPENJDK_TARGET_OS), windows)
    66     DEBUG_ALL_BINARIES := true
    66   DEBUG_ALL_BINARIES := true
    67 endif
    67 endif
    68 
    68 
    69 # Build everything with debugging on OpenJDK
    69 # Build everything with debugging on OpenJDK
    70 ifdef OPENJDK
    70 ifdef OPENJDK
    71     DEBUG_ALL_BINARIES := true
    71   DEBUG_ALL_BINARIES := true
    72 endif
    72 endif
    73 
    73 
    74 #
    74 #
    75 # TODO replace with X_FLAGS / X_LIBS
    75 # TODO replace with X_FLAGS / X_LIBS
    76 #   and add them to configure
    76 # and add them to configure
    77 #
    77 #
    78 OPENWIN_LIB:=$(OPENWIN_HOME)/lib
    78 OPENWIN_LIB := $(OPENWIN_HOME)/lib
    79 
    79 
    80 ##########################################################################################
    80 ##########################################################################################
    81 
    81 
    82 BUILD_LIBFDLIBM_OPTIMIZATION:=HIGH
    82 BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
    83 
    83 
    84 ifneq ($(OPENJDK_TARGET_OS), solaris)
    84 ifneq ($(OPENJDK_TARGET_OS), solaris)
    85       BUILD_LIBFDLIBM_OPTIMIZATION:=NONE
    85   BUILD_LIBFDLIBM_OPTIMIZATION := NONE
    86 endif
    86 endif
    87 
    87 
    88 ifneq ($(OPENJDK_TARGET_OS),macosx)
    88 ifneq ($(OPENJDK_TARGET_OS), macosx)
    89 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\
    89   $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM, \
    90                 STATIC_LIBRARY:=fdlibm,\
    90       STATIC_LIBRARY := fdlibm, \
    91                 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
    91       OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs, \
    92                 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
    92       SRC := $(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src, \
    93 		LANG:=C,\
    93       LANG := C, \
    94 		OPTIMIZATION:=$(BUILD_LIBFDLIBM_OPTIMIZATION), \
    94       OPTIMIZATION := $(BUILD_LIBFDLIBM_OPTIMIZATION), \
    95 		CFLAGS:=$(CFLAGS_JDKLIB) \
    95       CFLAGS := $(CFLAGS_JDKLIB) \
    96 			-I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
    96           -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include, \
    97 		CFLAGS_windows_debug:=-DLOGGING,\
    97       CFLAGS_windows_debug := -DLOGGING, \
    98 		ARFLAGS:=$(ARFLAGS),\
    98       ARFLAGS := $(ARFLAGS), \
    99 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
    99       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
   100 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
   100       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
   101 
   101 
   102 else
   102 else
   103 
   103 
   104 # On macosx the old build does partial (incremental) linking of fdlibm instead of
   104 # On macosx the old build does partial (incremental) linking of fdlibm instead of
   105 # a plain static library.
   105 # a plain static library.
   106 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM_MAC,\
   106   $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM_MAC, \
   107                 LIBRARY:=fdlibm,\
   107       LIBRARY := fdlibm, \
   108                 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
   108       OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
   109                 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
   109       SRC := $(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src, \
   110 		LANG:=C,\
   110       LANG := C, \
   111 		CFLAGS:=$(CFLAGS_JDKLIB) \
   111       CFLAGS := $(CFLAGS_JDKLIB) \
   112 			-I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
   112           -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include, \
   113 		LDFLAGS:=-nostdlib -r -arch x86_64,\
   113       LDFLAGS := -nostdlib -r -arch x86_64, \
   114 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
   114       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
   115 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
   115       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
   116 
   116 
   117 BUILD_LIBFDLIBM := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
   117   BUILD_LIBFDLIBM := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
   118 $(BUILD_LIBFDLIBM) : $(BUILD_LIBFDLIBM_MAC)
   118   $(BUILD_LIBFDLIBM): $(BUILD_LIBFDLIBM_MAC)
   119 	$(call install-file)
   119 	$(call install-file)
   120 
   120 
   121 endif
   121 endif
   122 BUILD_LIBRARIES += $(BUILD_LIBFDLIBM)
   122 BUILD_LIBRARIES += $(BUILD_LIBFDLIBM)
   123 
   123 
   124 ##########################################################################################
   124 ##########################################################################################
   125 
   125 
   126 BUILD_LIBVERIFY_SRC:=check_code.c check_format.c
   126 BUILD_LIBVERIFY_SRC := check_code.c check_format.c
   127 
   127 
   128 ifeq ($(OPENJDK_TARGET_OS), solaris)
   128 ifeq ($(OPENJDK_TARGET_OS), solaris)
   129 	ifneq ($(OPENJDK_TARGET_CPU), x86_64)
   129   ifneq ($(OPENJDK_TARGET_CPU), x86_64)
   130 		BUILD_LIBVERIFY_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/reorder-$(OPENJDK_TARGET_CPU)
   130     BUILD_LIBVERIFY_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libverify/reorder-$(OPENJDK_TARGET_CPU)
   131 	endif
   131   endif
   132 endif
   132 endif
   133 
   133 
   134 LIBVERIFY_OPTIMIZATION:=HIGH
   134 LIBVERIFY_OPTIMIZATION := HIGH
   135 ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
   135 ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
   136     ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
   136   ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
   137         LIBVERIFY_OPTIMIZATION:=LOW
   137     LIBVERIFY_OPTIMIZATION := LOW
   138     endif
   138   endif
   139 endif
   139 endif
   140 
   140 
   141 
   141 
   142 $(eval $(call SetupNativeCompilation,BUILD_LIBVERIFY,\
   142 $(eval $(call SetupNativeCompilation,BUILD_LIBVERIFY, \
   143 		LIBRARY:=verify, \
   143     LIBRARY := verify, \
   144                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
   144     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
   145 		SRC:=$(JDK_TOPDIR)/src/share/native/common,\
   145     SRC := $(JDK_TOPDIR)/src/share/native/common, \
   146 		INCLUDE_FILES:=$(BUILD_LIBVERIFY_SRC),\
   146     INCLUDE_FILES := $(BUILD_LIBVERIFY_SRC), \
   147 		LANG:=C,\
   147     LANG := C, \
   148 		OPTIMIZATION:=$(LIBVERIFY_OPTIMIZATION), \
   148     OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \
   149 		CFLAGS:=$(CFLAGS_JDKLIB),\
   149     CFLAGS := $(CFLAGS_JDKLIB), \
   150 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/mapfile-vers, \
   150     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libverify/mapfile-vers, \
   151 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
   151     LDFLAGS := $(LDFLAGS_JDKLIB) \
   152 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
   152         $(call SET_SHARED_LIBRARY_ORIGIN), \
   153 		LDFLAGS_SUFFIX_posix:=-ljvm -lc,\
   153     LDFLAGS_SUFFIX_posix := -ljvm -lc, \
   154 		LDFLAGS_SUFFIX_windows:=jvm.lib,\
   154     LDFLAGS_SUFFIX_windows := jvm.lib, \
   155 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
   155     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
   156 		RC_FLAGS:=$(RC_FLAGS) \
   156     RC_FLAGS := $(RC_FLAGS) \
   157 			  -D "JDK_FNAME=verify.dll" \
   157         -D "JDK_FNAME=verify.dll" \
   158 			  -D "JDK_INTERNAL_NAME=verify" \
   158         -D "JDK_INTERNAL_NAME=verify" \
   159 			  -D "JDK_FTYPE=0x2L",\
   159         -D "JDK_FTYPE=0x2L", \
   160 		REORDER:=$(BUILD_LIBVERIFY_REORDER),\
   160     REORDER := $(BUILD_LIBVERIFY_REORDER), \
   161 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libverify,\
   161     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libverify, \
   162 		DEBUG_SYMBOLS:=true))
   162     DEBUG_SYMBOLS := true))
   163 
   163 
   164 BUILD_LIBRARIES += $(BUILD_LIBVERIFY)
   164 BUILD_LIBRARIES += $(BUILD_LIBVERIFY)
   165 
   165 
   166 ##########################################################################################
   166 ##########################################################################################
   167 
   167 
   168 LIBJAVA_SRC_DIRS:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/lang \
   168 LIBJAVA_SRC_DIRS := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/lang \
   169 		$(JDK_TOPDIR)/src/share/native/java/lang \
   169   $(JDK_TOPDIR)/src/share/native/java/lang \
   170 		$(JDK_TOPDIR)/src/share/native/java/lang/ref \
   170   $(JDK_TOPDIR)/src/share/native/java/lang/ref \
   171 		$(JDK_TOPDIR)/src/share/native/java/lang/reflect \
   171   $(JDK_TOPDIR)/src/share/native/java/lang/reflect \
   172 		$(JDK_TOPDIR)/src/share/native/java/io \
   172   $(JDK_TOPDIR)/src/share/native/java/io \
   173 		$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
   173   $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
   174 		$(JDK_TOPDIR)/src/share/native/java/nio \
   174   $(JDK_TOPDIR)/src/share/native/java/nio \
   175 		$(JDK_TOPDIR)/src/share/native/java/security \
   175   $(JDK_TOPDIR)/src/share/native/java/security \
   176 		$(JDK_TOPDIR)/src/share/native/common \
   176   $(JDK_TOPDIR)/src/share/native/common \
   177 		$(JDK_TOPDIR)/src/share/native/sun/misc \
   177   $(JDK_TOPDIR)/src/share/native/sun/misc \
   178 		$(JDK_TOPDIR)/src/share/native/sun/reflect \
   178   $(JDK_TOPDIR)/src/share/native/sun/reflect \
   179 		$(JDK_TOPDIR)/src/share/native/java/util \
   179   $(JDK_TOPDIR)/src/share/native/java/util \
   180 		$(JDK_TOPDIR)/src/share/native/java/util/concurrent/atomic \
   180   $(JDK_TOPDIR)/src/share/native/java/util/concurrent/atomic \
   181 		$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/common \
   181   $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/common \
   182 		$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/util
   182   $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/util
   183 
   183 
   184 ifneq ($(OPENJDK_TARGET_OS),macosx)
   184 ifneq ($(OPENJDK_TARGET_OS), macosx)
   185     LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/util/locale/provider
   185   LIBJAVA_SRC_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/util/locale/provider
   186 else
   186 else
   187     LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/macosx/native/sun/util/locale/provider
   187   LIBJAVA_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/util/locale/provider
   188 endif
   188 endif
   189 
   189 
   190 ifeq ($(OPENJDK_TARGET_OS),windows)
   190 ifeq ($(OPENJDK_TARGET_OS), windows)
   191     LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/provider \
   191   LIBJAVA_SRC_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/provider \
   192 		$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/io
   192       $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/io
   193 endif
   193 endif
   194 
   194 
   195 LIBJAVA_CFLAGS:=$(foreach dir,$(LIBJAVA_SRC_DIRS),-I$(dir)) \
   195 LIBJAVA_CFLAGS := $(foreach dir, $(LIBJAVA_SRC_DIRS), -I$(dir)) \
   196 		  -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include \
   196     -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include \
   197                   -DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"'
   197     -DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"'
   198 
   198 
   199 LIBJAVA_CFLAGS += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
   199 LIBJAVA_CFLAGS += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
   200                   -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
   200     -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
   201                   -DJDK_MICRO_VERSION='"$(JDK_MICRO_VERSION)"' \
   201     -DJDK_MICRO_VERSION='"$(JDK_MICRO_VERSION)"' \
   202                   -DJDK_BUILD_NUMBER='"$(JDK_BUILD_NUMBER)"'
   202      -DJDK_BUILD_NUMBER='"$(JDK_BUILD_NUMBER)"'
   203 
   203 
   204 ifneq (,$(JDK_UPDATE_VERSION))
   204 ifneq (, $(JDK_UPDATE_VERSION))
   205 	LIBJAVA_CFLAGS += -DJDK_UPDATE_VERSION='"$(JDK_UPDATE_VERSION)"'
   205   LIBJAVA_CFLAGS += -DJDK_UPDATE_VERSION='"$(JDK_UPDATE_VERSION)"'
   206 endif
   206 endif
   207 
   207 
   208 LIBJAVA_EXCLUDE_FILES:=check_code.c check_format.c jspawnhelper.c
   208 LIBJAVA_EXCLUDE_FILES := check_code.c check_format.c jspawnhelper.c
   209 
   209 
   210 ifneq ($(OPENJDK_TARGET_OS),macosx)
   210 ifneq ($(OPENJDK_TARGET_OS), macosx)
   211 	LIBJAVA_EXCLUDE_FILES += java_props_macosx.c
   211   LIBJAVA_EXCLUDE_FILES += java_props_macosx.c
   212 else
   212 else
   213 	BUILD_LIBJAVA_java_props_md.c_CFLAGS:=-x objective-c
   213   BUILD_LIBJAVA_java_props_md.c_CFLAGS := -x objective-c
   214         BUILD_LIBJAVA_java_props_macosx.c_CFLAGS:=-x objective-c
   214   BUILD_LIBJAVA_java_props_macosx.c_CFLAGS := -x objective-c
   215 endif
   215 endif
   216 
   216 
   217 ifeq ($(OPENJDK_TARGET_OS),windows)
   217 ifeq ($(OPENJDK_TARGET_OS), windows)
   218         LIBJAVA_EXCLUDE_FILES += \
   218   LIBJAVA_EXCLUDE_FILES += \
   219 		UNIXProcess_md.c \
   219       UNIXProcess_md.c \
   220 		UnixFileSystem_md.c \
   220       UnixFileSystem_md.c \
   221 		FileSystemPreferences.c
   221       FileSystemPreferences.c
   222 else
   222 else
   223 	LIBJAVA_EXCLUDE_FILES += \
   223   LIBJAVA_EXCLUDE_FILES += \
   224 		ProcessImpl_md.c \
   224       ProcessImpl_md.c \
   225 		WinNTFileSystem_md.c \
   225       WinNTFileSystem_md.c \
   226 		dirent_md.c \
   226       dirent_md.c \
   227 		WindowsPreferences.c \
   227       WindowsPreferences.c \
   228 		sun/security/provider/WinCAPISeedGenerator.c \
   228       sun/security/provider/WinCAPISeedGenerator.c \
   229 		sun/io/Win32ErrorMode.c
   229       sun/io/Win32ErrorMode.c
   230 endif
   230 endif
   231 
   231 
   232 ifeq ($(OPENJDK_TARGET_OS), solaris)
   232 ifeq ($(OPENJDK_TARGET_OS), solaris)
   233     ifneq ($(OPENJDK_TARGET_CPU), x86_64)
   233   ifneq ($(OPENJDK_TARGET_CPU), x86_64)
   234         LIBJAVA_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(OPENJDK_TARGET_CPU)
   234     LIBJAVA_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(OPENJDK_TARGET_CPU)
   235     endif
   235   endif
   236 endif
   236 endif
   237 
   237 
   238 $(eval $(call SetupNativeCompilation,BUILD_LIBJAVA,\
   238 $(eval $(call SetupNativeCompilation,BUILD_LIBJAVA, \
   239 		LIBRARY:=java,\
   239     LIBRARY := java, \
   240                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
   240     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
   241 		SRC:=$(LIBJAVA_SRC_DIRS),\
   241     SRC := $(LIBJAVA_SRC_DIRS), \
   242 		EXCLUDES:=fdlibm/src zip, \
   242     EXCLUDES := fdlibm/src zip, \
   243 		EXCLUDE_FILES:=$(LIBJAVA_EXCLUDE_FILES), \
   243     EXCLUDE_FILES := $(LIBJAVA_EXCLUDE_FILES), \
   244 		LANG:=C,\
   244     LANG := C, \
   245 		OPTIMIZATION:=HIGH, \
   245     OPTIMIZATION := HIGH, \
   246 		CFLAGS:=$(CFLAGS_JDKLIB) \
   246     CFLAGS := $(CFLAGS_JDKLIB) \
   247                         $(LIBJAVA_CFLAGS),\
   247         $(LIBJAVA_CFLAGS), \
   248 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \
   248     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \
   249 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
   249     LDFLAGS := $(LDFLAGS_JDKLIB) \
   250 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
   250         $(call SET_SHARED_LIBRARY_ORIGIN), \
   251 		LDFLAGS_SUFFIX_posix:=-ljvm -lverify, \
   251     LDFLAGS_SUFFIX_posix := -ljvm -lverify, \
   252 		LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc,\
   252     LDFLAGS_SUFFIX_solaris := -lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc, \
   253 		LDFLAGS_SUFFIX_linux:=$(LIBDL) $(BUILD_LIBFDLIBM),\
   253     LDFLAGS_SUFFIX_linux := $(LIBDL) $(BUILD_LIBFDLIBM), \
   254 		LDFLAGS_SUFFIX_macosx:=-L$(JDK_OUTPUTDIR)/objs/ -lfdlibm \
   254     LDFLAGS_SUFFIX_macosx := -L$(JDK_OUTPUTDIR)/objs/ -lfdlibm \
   255                                          -framework CoreFoundation \
   255         -framework CoreFoundation \
   256                                          -framework Foundation \
   256         -framework Foundation \
   257                                          -framework Security -framework SystemConfiguration, \
   257         -framework Security -framework SystemConfiguration, \
   258 		LDFLAGS_SUFFIX_windows:=-export:winFileHandleOpen -export:handleLseek \
   258     LDFLAGS_SUFFIX_windows := -export:winFileHandleOpen -export:handleLseek \
   259 					jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
   259         jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
   260 					shell32.lib delayimp.lib -DELAYLOAD:shell32.dll \
   260         shell32.lib delayimp.lib -DELAYLOAD:shell32.dll \
   261 					advapi32.lib,\
   261         advapi32.lib, \
   262 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
   262     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
   263 		RC_FLAGS:=$(RC_FLAGS)\
   263     RC_FLAGS := $(RC_FLAGS) \
   264 			  -D "JDK_FNAME=java.dll" \
   264         -D "JDK_FNAME=java.dll" \
   265 			  -D "JDK_INTERNAL_NAME=java" \
   265         -D "JDK_INTERNAL_NAME=java" \
   266 			  -D "JDK_FTYPE=0x2L",\
   266         -D "JDK_FTYPE=0x2L", \
   267 		REORDER:=$(LIBJAVA_REORDER), \
   267     REORDER := $(LIBJAVA_REORDER), \
   268 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava,\
   268     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjava, \
   269 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
   269     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
   270 
   270 
   271 BUILD_LIBRARIES += $(BUILD_LIBJAVA)
   271 BUILD_LIBRARIES += $(BUILD_LIBJAVA)
   272 
   272 
   273 $(BUILD_LIBJAVA) : $(LIBJLI_BINARY)
   273 $(BUILD_LIBJAVA): $(LIBJLI_BINARY)
   274 
   274 
   275 $(BUILD_LIBJAVA) : $(BUILD_LIBVERIFY)
   275 $(BUILD_LIBJAVA): $(BUILD_LIBVERIFY)
   276 
   276 
   277 $(BUILD_LIBJAVA) : $(BUILD_LIBFDLIBM)
   277 $(BUILD_LIBJAVA): $(BUILD_LIBFDLIBM)
   278 
   278 
   279 ##########################################################################################
   279 ##########################################################################################
   280 
   280 
   281 BUILD_LIBMLIB_SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib
   281 BUILD_LIBMLIB_SRC := $(JDK_TOPDIR)/src/share/native/sun/awt/medialib
   282 BUILD_LIBMLIB_CFLAGS:=-D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
   282 BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
   283 			-I$(BUILD_LIBMLIB_SRC) \
   283     -I$(BUILD_LIBMLIB_SRC) \
   284 			-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/medialib
   284     -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/medialib
   285 
   285 
   286 BUILD_LIBMLIB_LDLIBS:=
   286 BUILD_LIBMLIB_LDLIBS :=
   287 BUILD_LIBMLIB_IMAGE_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmlib_image/mapfile-vers
   287 BUILD_LIBMLIB_IMAGE_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libmlib_image/mapfile-vers
   288 
   288 
   289 BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
   289 BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
   290 
   290 
   291 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
   291 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
   292 	BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
   292   BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
   293 endif
   293 endif
   294 
   294 
   295 ifneq ($(OPENJDK_TARGET_OS), windows)
   295 ifneq ($(OPENJDK_TARGET_OS), windows)
   296 	BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
   296   BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
   297 endif
   297 endif
   298 
   298 
   299 $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE,\
   299 $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE, \
   300 		LIBRARY:=mlib_image,\
   300     LIBRARY := mlib_image, \
   301                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
   301     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
   302                 SRC:=$(BUILD_LIBMLIB_SRC),\
   302     SRC := $(BUILD_LIBMLIB_SRC), \
   303 		EXCLUDE_FILES:=awt_ImagingLib.c mlib_c_ImageBlendTable.c,\
   303     EXCLUDE_FILES := awt_ImagingLib.c mlib_c_ImageBlendTable.c, \
   304 		LANG:=C,\
   304     LANG := C, \
   305 		OPTIMIZATION:=HIGHEST, \
   305     OPTIMIZATION := HIGHEST, \
   306 		CFLAGS:=$(CFLAGS_JDKLIB) \
   306     CFLAGS := $(CFLAGS_JDKLIB) \
   307                         $(BUILD_LIBMLIB_CFLAGS),\
   307         $(BUILD_LIBMLIB_CFLAGS), \
   308 		MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
   308     MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
   309 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
   309     LDFLAGS := $(LDFLAGS_JDKLIB) \
   310 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
   310         $(call SET_SHARED_LIBRARY_ORIGIN), \
   311 		LDFLAGS_SUFFIX:=$(BUILD_LIBMLIB_LDLIBS) \
   311     LDFLAGS_SUFFIX := $(BUILD_LIBMLIB_LDLIBS) \
   312 				$(LDFLAGS_JDKLIB_SUFFIX),\
   312         $(LDFLAGS_JDKLIB_SUFFIX), \
   313 		LDFLAGS_SUFFIX_solaris:=-lc, \
   313     LDFLAGS_SUFFIX_solaris := -lc, \
   314 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
   314     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
   315 		RC_FLAGS:=$(RC_FLAGS)\
   315     RC_FLAGS := $(RC_FLAGS) \
   316 			  -D "JDK_FNAME=mlib_image.dll" \
   316         -D "JDK_FNAME=mlib_image.dll" \
   317 			  -D "JDK_INTERNAL_NAME=mlib_image" \
   317         -D "JDK_INTERNAL_NAME=mlib_image" \
   318 			  -D "JDK_FTYPE=0x2L",\
   318         -D "JDK_FTYPE=0x2L", \
   319 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image,\
   319     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libmlib_image, \
   320 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
   320     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
   321 
   321 
   322 $(BUILD_LIBMLIB_IMAGE) : $(BUILD_LIBJAVA)
   322 $(BUILD_LIBMLIB_IMAGE): $(BUILD_LIBJAVA)
   323 
   323 
   324 BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE)
   324 BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE)
   325 
   325 
   326 ##########################################################################################
   326 ##########################################################################################
   327 
   327 
   328 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH),solaris-sparc)
   328 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
   329 
   329 
   330 BUILD_LIBMLIB_IMAGE_V_FILES:=\
   330   BUILD_LIBMLIB_IMAGE_V_FILES := \
   331         mlib_v_ImageLookUp.c \
   331       mlib_v_ImageLookUp.c \
   332         mlib_ImageCreate.c \
   332       mlib_ImageCreate.c \
   333         mlib_ImageAffine.c \
   333       mlib_ImageAffine.c \
   334         mlib_ImageConvMxN.c \
   334       mlib_ImageConvMxN.c \
   335         mlib_ImageConvKernelConvert.c \
   335       mlib_ImageConvKernelConvert.c \
   336         mlib_sys.c \
   336       mlib_sys.c \
   337         mlib_ImageLookUp_64.c \
   337       mlib_ImageLookUp_64.c \
   338         mlib_ImageLookUp_Bit.c \
   338       mlib_ImageLookUp_Bit.c \
   339         mlib_ImageColorTrue2Index.c \
   339       mlib_ImageColorTrue2Index.c \
   340         mlib_c_ImageThresh1_U8.c \
   340       mlib_c_ImageThresh1_U8.c \
   341         mlib_v_ImageLookUpS16S16Func.c \
   341       mlib_v_ImageLookUpS16S16Func.c \
   342         mlib_v_ImageLookUpS16S32Func.c \
   342       mlib_v_ImageLookUpS16S32Func.c \
   343         mlib_v_ImageLookUpS16U16Func.c \
   343       mlib_v_ImageLookUpS16U16Func.c \
   344         mlib_v_ImageLookUpS16U8Func.c \
   344       mlib_v_ImageLookUpS16U8Func.c \
   345         mlib_v_ImageLookUpS32S16Func.c \
   345       mlib_v_ImageLookUpS32S16Func.c \
   346         mlib_v_ImageLookUpS32S32Func.c \
   346       mlib_v_ImageLookUpS32S32Func.c \
   347         mlib_v_ImageLookUpS32U16Func.c \
   347       mlib_v_ImageLookUpS32U16Func.c \
   348         mlib_v_ImageLookUpS32U8Func.c \
   348       mlib_v_ImageLookUpS32U8Func.c \
   349         mlib_v_ImageLookUpSIS16S16Func.c \
   349       mlib_v_ImageLookUpSIS16S16Func.c \
   350         mlib_v_ImageLookUpSIS16S32Func.c \
   350       mlib_v_ImageLookUpSIS16S32Func.c \
   351         mlib_v_ImageLookUpSIS16U16Func.c \
   351       mlib_v_ImageLookUpSIS16U16Func.c \
   352         mlib_v_ImageLookUpSIS16U8Func.c \
   352       mlib_v_ImageLookUpSIS16U8Func.c \
   353         mlib_v_ImageLookUpSIS32S16Func.c \
   353       mlib_v_ImageLookUpSIS32S16Func.c \
   354         mlib_v_ImageLookUpSIS32S32Func.c \
   354       mlib_v_ImageLookUpSIS32S32Func.c \
   355         mlib_v_ImageLookUpSIS32U16Func.c \
   355       mlib_v_ImageLookUpSIS32U16Func.c \
   356         mlib_v_ImageLookUpSIS32U8Func.c \
   356       mlib_v_ImageLookUpSIS32U8Func.c \
   357         mlib_v_ImageLookUpSIU16S16Func.c \
   357       mlib_v_ImageLookUpSIU16S16Func.c \
   358         mlib_v_ImageLookUpSIU16S32Func.c \
   358       mlib_v_ImageLookUpSIU16S32Func.c \
   359         mlib_v_ImageLookUpSIU16U16Func.c \
   359       mlib_v_ImageLookUpSIU16U16Func.c \
   360         mlib_v_ImageLookUpSIU16U8Func.c \
   360       mlib_v_ImageLookUpSIU16U8Func.c \
   361         mlib_v_ImageLookUpSIU8S16Func.c \
   361       mlib_v_ImageLookUpSIU8S16Func.c \
   362         mlib_v_ImageLookUpSIU8S32Func.c \
   362       mlib_v_ImageLookUpSIU8S32Func.c \
   363         mlib_v_ImageLookUpSIU8U16Func.c \
   363       mlib_v_ImageLookUpSIU8U16Func.c \
   364         mlib_v_ImageLookUpSIU8U8Func.c \
   364       mlib_v_ImageLookUpSIU8U8Func.c \
   365         mlib_v_ImageLookUpU16S16Func.c \
   365       mlib_v_ImageLookUpU16S16Func.c \
   366         mlib_v_ImageLookUpU16S32Func.c \
   366       mlib_v_ImageLookUpU16S32Func.c \
   367         mlib_v_ImageLookUpU16U16Func.c \
   367       mlib_v_ImageLookUpU16U16Func.c \
   368         mlib_v_ImageLookUpU16U8Func.c \
   368       mlib_v_ImageLookUpU16U8Func.c \
   369         mlib_v_ImageLookUpU8S16Func.c \
   369       mlib_v_ImageLookUpU8S16Func.c \
   370         mlib_v_ImageLookUpU8S32Func.c \
   370       mlib_v_ImageLookUpU8S32Func.c \
   371         mlib_v_ImageLookUpU8U16Func.c \
   371       mlib_v_ImageLookUpU8U16Func.c \
   372         mlib_v_ImageLookUpU8U8Func.c \
   372       mlib_v_ImageLookUpU8U8Func.c \
   373         mlib_v_ImageAffineIndex_BC.c \
   373       mlib_v_ImageAffineIndex_BC.c \
   374         mlib_v_ImageAffine_BC.c \
   374       mlib_v_ImageAffine_BC.c \
   375         mlib_v_ImageAffine_BC_S16.c \
   375       mlib_v_ImageAffine_BC_S16.c \
   376         mlib_v_ImageAffine_BC_U16.c \
   376       mlib_v_ImageAffine_BC_U16.c \
   377         mlib_v_ImageAffine_BL.c \
   377       mlib_v_ImageAffine_BL.c \
   378         mlib_v_ImageAffine_BL_S16.c \
   378       mlib_v_ImageAffine_BL_S16.c \
   379         mlib_v_ImageAffine_BL_U16.c \
   379       mlib_v_ImageAffine_BL_U16.c \
   380         mlib_v_ImageAffine_NN.c \
   380       mlib_v_ImageAffine_NN.c \
   381         mlib_v_ImageFilters.c \
   381       mlib_v_ImageFilters.c \
   382         mlib_ImageAffineEdge.c \
   382       mlib_ImageAffineEdge.c \
   383         mlib_ImageAffine_BC_D64.c \
   383       mlib_ImageAffine_BC_D64.c \
   384         mlib_ImageAffine_BC_F32.c \
   384       mlib_ImageAffine_BC_F32.c \
   385         mlib_ImageAffine_BC_S32.c \
   385       mlib_ImageAffine_BC_S32.c \
   386         mlib_ImageAffine_BL_D64.c \
   386       mlib_ImageAffine_BL_D64.c \
   387         mlib_ImageAffine_BL_F32.c \
   387       mlib_ImageAffine_BL_F32.c \
   388         mlib_ImageAffine_BL_S32.c \
   388       mlib_ImageAffine_BL_S32.c \
   389         mlib_ImageAffine_NN.c \
   389       mlib_ImageAffine_NN.c \
   390         mlib_ImageAffine_NN_Bit.c \
   390       mlib_ImageAffine_NN_Bit.c \
   391         mlib_ImageFilters.c \
   391       mlib_ImageFilters.c \
   392         mlib_ImageScanPoly.c \
   392       mlib_ImageScanPoly.c \
   393         mlib_ImageConv_8nw.c \
   393       mlib_ImageConv_8nw.c \
   394         mlib_ImageConv_8ext.c \
   394       mlib_ImageConv_8ext.c \
   395         mlib_ImageConv_16nw.c \
   395       mlib_ImageConv_16nw.c \
   396         mlib_ImageConv_16ext.c \
   396       mlib_ImageConv_16ext.c \
   397         mlib_ImageConv_u16nw.c \
   397       mlib_ImageConv_u16nw.c \
   398         mlib_ImageConv_u16ext.c \
   398       mlib_ImageConv_u16ext.c \
   399         mlib_ImageConv_32nw.c \
   399       mlib_ImageConv_32nw.c \
   400         mlib_ImageConv_F32nw.c \
   400       mlib_ImageConv_F32nw.c \
   401         mlib_ImageConvMxN_Fp.c \
   401       mlib_ImageConvMxN_Fp.c \
   402         mlib_ImageConvMxN_ext.c \
   402       mlib_ImageConvMxN_ext.c \
   403         mlib_ImageConv_D64nw.c \
   403       mlib_ImageConv_D64nw.c \
   404         mlib_ImageClipping.c \
   404       mlib_ImageClipping.c \
   405         mlib_ImageConvCopyEdge_Bit.c \
   405       mlib_ImageConvCopyEdge_Bit.c \
   406         mlib_ImageConvClearEdge_Bit.c \
   406       mlib_ImageConvClearEdge_Bit.c \
   407         mlib_ImageConv2x2_f.c \
   407       mlib_ImageConv2x2_f.c \
   408         mlib_ImageConvClearEdge_Fp.c \
   408       mlib_ImageConvClearEdge_Fp.c \
   409         mlib_v_ImageConvMxN_8.c \
   409       mlib_v_ImageConvMxN_8.c \
   410         mlib_v_ImageConvClearEdge.c \
   410       mlib_v_ImageConvClearEdge.c \
   411         mlib_v_ImageConvCopyEdge.c \
   411       mlib_v_ImageConvCopyEdge.c \
   412         mlib_v_ImageConvMxN_8ext.c \
   412       mlib_v_ImageConvMxN_8ext.c \
   413         mlib_v_ImageConvVersion.c \
   413       mlib_v_ImageConvVersion.c \
   414         mlib_v_ImageConv_8nw.c \
   414       mlib_v_ImageConv_8nw.c \
   415         mlib_ImageConvCopyEdge_Fp.c \
   415       mlib_ImageConvCopyEdge_Fp.c \
   416         mlib_v_ImageChannelInsert_1.c \
   416       mlib_v_ImageChannelInsert_1.c \
   417         mlib_v_ImageChannelExtract_43.c \
   417       mlib_v_ImageChannelExtract_43.c \
   418         mlib_v_ImageChannelExtract_1.c \
   418       mlib_v_ImageChannelExtract_1.c \
   419         mlib_ImageCopy_Bit.c \
   419       mlib_ImageCopy_Bit.c \
   420         mlib_v_ImageCopy_f.c \
   420       mlib_v_ImageCopy_f.c \
   421         mlib_ImageUtils.c \
   421       mlib_ImageUtils.c \
   422         mlib_ImageDivTables.c
   422       mlib_ImageDivTables.c
   423 
   423 
   424 BUILD_LIBMLIB_V_CFLAGS := $(filter-out -DMLIB_NO_LIBSUNMATH,$(BUILD_LIBMLIB_CFLAGS))
   424   BUILD_LIBMLIB_V_CFLAGS := $(filter-out -DMLIB_NO_LIBSUNMATH, $(BUILD_LIBMLIB_CFLAGS))
   425 
   425 
   426 $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V,\
   426   $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V, \
   427 		LIBRARY:=mlib_image_v, \
   427       LIBRARY := mlib_image_v, \
   428                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
   428       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
   429                 SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
   429       SRC := $(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
   430 		     $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib,\
   430           $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib, \
   431 		LANG:=C,\
   431       LANG := C, \
   432 		INCLUDE_FILES:=$(BUILD_LIBMLIB_IMAGE_V_FILES),\
   432       INCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_FILES), \
   433 		OPTIMIZATION:=HIGHEST, \
   433       OPTIMIZATION := HIGHEST, \
   434 		CFLAGS:=-xarch=sparcvis \
   434       CFLAGS := -xarch=sparcvis \
   435                       $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il\
   435           $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il \
   436                       $(BUILD_LIBMLIB_V_CFLAGS) \
   436           $(BUILD_LIBMLIB_V_CFLAGS) \
   437                       $(CFLAGS_JDKLIB), \
   437           $(CFLAGS_JDKLIB), \
   438 		MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
   438       MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
   439 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
   439       LDFLAGS := $(LDFLAGS_JDKLIB) \
   440                          $(BUILD_LIBMLIB_LDLIBS) -ljava -ljvm \
   440           $(BUILD_LIBMLIB_LDLIBS) -ljava -ljvm \
   441 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
   441           $(call SET_SHARED_LIBRARY_ORIGIN), \
   442 		LDFLAGS_SUFFIX_solaris:=-lc,\
   442       LDFLAGS_SUFFIX_solaris := -lc, \
   443 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image_v,\
   443       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libmlib_image_v, \
   444 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
   444       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
   445 
   445 
   446 $(BUILD_LIBMLIB_IMAGE_V): $(BUILD_LIBJAVA)
   446   $(BUILD_LIBMLIB_IMAGE_V): $(BUILD_LIBJAVA)
   447 
   447 
   448 BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE_V)
   448   BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE_V)
   449 
   449 
   450 endif
   450 endif
   451 
   451 
   452 ##########################################################################################
   452 ##########################################################################################
   453 
   453 
   454 LIBAWT_DIRS:=\
   454 LIBAWT_DIRS := \
   455 	$(JDK_TOPDIR)/src/share/native/sun/awt \
   455     $(JDK_TOPDIR)/src/share/native/sun/awt \
   456 	$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
   456     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
   457 	$(JDK_TOPDIR)/src/share/native/sun/awt/image \
   457     $(JDK_TOPDIR)/src/share/native/sun/awt/image \
   458 	$(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \
   458     $(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \
   459 	$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
   459     $(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
   460 	$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
   460     $(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
   461 	$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
   461     $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
   462 	$(JDK_TOPDIR)/src/share/native/sun/awt/utility \
   462     $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
   463 	$(JDK_TOPDIR)/src/share/native/sun/java2d \
   463     $(JDK_TOPDIR)/src/share/native/sun/java2d \
   464 	$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
   464     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
   465 	$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
   465     $(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
   466 	$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
   466     $(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
   467 	$(JDK_TOPDIR)/src/share/native/sun/awt/image \
   467     $(JDK_TOPDIR)/src/share/native/sun/awt/image \
   468 	$(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
   468     $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
   469 	$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
   469     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
   470 	$(JDK_TOPDIR)/src/share/native/sun/font
   470     $(JDK_TOPDIR)/src/share/native/sun/font
   471 
   471 
   472 ifeq ($(OPENJDK_TARGET_OS),windows)
   472 ifeq ($(OPENJDK_TARGET_OS), windows)
   473     LIBAWT_DIRS+=\
   473   LIBAWT_DIRS += \
   474 	$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
   474       $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
   475 	$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \
   475       $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \
   476 	$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/d3d
   476       $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/d3d
   477 else
   477 else
   478     LIBAWT_DIRS+=\
   478   LIBAWT_DIRS += \
   479 	$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11
   479       $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11
   480 endif
   480 endif
   481 
   481 
   482 LIBAWT_CFLAGS+=-D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
   482 LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
   483 	$(X_CFLAGS) \
   483     $(X_CFLAGS) \
   484 	$(foreach dir,$(LIBAWT_DIRS),-I$(dir))
   484     $(foreach dir, $(LIBAWT_DIRS), -I$(dir))
   485 
   485 
   486 LIBAWT_FILES:=\
   486 LIBAWT_FILES := \
   487 	gifdecoder.c \
   487     gifdecoder.c \
   488 	imageInitIDs.c \
   488     imageInitIDs.c \
   489 	img_globals.c \
   489     img_globals.c \
   490 	SurfaceData.c \
   490     SurfaceData.c \
   491 	Region.c \
   491     Region.c \
   492 	BufImgSurfaceData.c \
   492     BufImgSurfaceData.c \
   493 	Disposer.c \
   493     Disposer.c \
   494 	Trace.c \
   494     Trace.c \
   495 	GraphicsPrimitiveMgr.c \
   495     GraphicsPrimitiveMgr.c \
   496 	Blit.c \
   496     Blit.c \
   497 	BlitBg.c \
   497     BlitBg.c \
   498 	ScaledBlit.c \
   498     ScaledBlit.c \
   499 	FillRect.c \
   499     FillRect.c \
   500 	FillSpans.c \
   500     FillSpans.c \
   501 	FillParallelogram.c \
   501     FillParallelogram.c \
   502 	DrawParallelogram.c \
   502     DrawParallelogram.c \
   503 	DrawLine.c \
   503     DrawLine.c \
   504 	DrawRect.c \
   504     DrawRect.c \
   505 	DrawPolygons.c \
   505     DrawPolygons.c \
   506 	DrawPath.c \
   506     DrawPath.c \
   507 	FillPath.c \
   507     FillPath.c \
   508 	ProcessPath.c \
   508     ProcessPath.c \
   509 	MaskBlit.c \
   509     MaskBlit.c \
   510 	MaskFill.c \
   510     MaskFill.c \
   511 	TransformHelper.c \
   511     TransformHelper.c \
   512 	AlphaMath.c \
   512     AlphaMath.c \
   513 	AlphaMacros.c \
   513     AlphaMacros.c \
   514 	AnyByte.c \
   514     AnyByte.c \
   515 	ByteBinary1Bit.c \
   515     ByteBinary1Bit.c \
   516 	ByteBinary2Bit.c \
   516     ByteBinary2Bit.c \
   517 	ByteBinary4Bit.c \
   517     ByteBinary4Bit.c \
   518 	ByteIndexed.c \
   518     ByteIndexed.c \
   519 	ByteGray.c \
   519     ByteGray.c \
   520 	Index8Gray.c \
   520     Index8Gray.c \
   521 	Index12Gray.c \
   521     Index12Gray.c \
   522 	AnyShort.c \
   522     AnyShort.c \
   523 	Ushort555Rgb.c \
   523     Ushort555Rgb.c \
   524 	Ushort565Rgb.c \
   524     Ushort565Rgb.c \
   525 	Ushort4444Argb.c \
   525     Ushort4444Argb.c \
   526 	Ushort555Rgbx.c \
   526     Ushort555Rgbx.c \
   527 	UshortGray.c \
   527     UshortGray.c \
   528 	UshortIndexed.c \
   528     UshortIndexed.c \
   529 	Any3Byte.c \
   529     Any3Byte.c \
   530 	ThreeByteBgr.c \
   530     ThreeByteBgr.c \
   531 	AnyInt.c \
   531     AnyInt.c \
   532 	IntArgb.c \
   532     IntArgb.c \
   533 	IntArgbPre.c \
   533     IntArgbPre.c \
   534 	IntArgbBm.c \
   534     IntArgbBm.c \
   535 	IntRgb.c \
   535     IntRgb.c \
   536 	IntBgr.c \
   536     IntBgr.c \
   537 	IntRgbx.c \
   537     IntRgbx.c \
   538 	Any4Byte.c \
   538     Any4Byte.c \
   539 	FourByteAbgr.c \
   539     FourByteAbgr.c \
   540 	FourByteAbgrPre.c \
   540     FourByteAbgrPre.c \
   541 	BufferedMaskBlit.c \
   541     BufferedMaskBlit.c \
   542 	BufferedRenderPipe.c \
   542     BufferedRenderPipe.c \
   543 	ShapeSpanIterator.c \
   543     ShapeSpanIterator.c \
   544 	SpanClipRenderer.c \
   544     SpanClipRenderer.c \
   545 	awt_ImageRep.c \
   545     awt_ImageRep.c \
   546 	awt_ImagingLib.c \
   546     awt_ImagingLib.c \
   547 	awt_Mlib.c \
   547     awt_Mlib.c \
   548 	awt_parseImage.c \
   548     awt_parseImage.c \
   549 	DataBufferNative.c \
   549     DataBufferNative.c \
   550 	dither.c \
   550     dither.c \
   551 	debug_assert.c \
   551     debug_assert.c \
   552 	debug_mem.c \
   552     debug_mem.c \
   553 	debug_trace.c \
   553     debug_trace.c \
   554 	debug_util.c
   554     debug_util.c
   555 
   555 
   556 ifneq (,$(filter $(OPENJDK_TARGET_OS), solaris linux))
   556 ifneq (, $(filter $(OPENJDK_TARGET_OS), solaris linux))
   557 	LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
   557   LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
   558 endif
   558 endif
   559 
   559 
   560 ifeq ($(OPENJDK_TARGET_OS),macosx)
   560 ifeq ($(OPENJDK_TARGET_OS), macosx)
   561 	LIBAWT_FILES += awt_LoadLibrary.c img_colors.c
   561   LIBAWT_FILES += awt_LoadLibrary.c img_colors.c
   562 	LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
   562   LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
   563 endif
   563 endif
   564 
   564 
   565 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
   565 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
   566         LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
   566   LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
   567         LIBAWT_CFLAGS += -xarch=sparcvis
   567   LIBAWT_CFLAGS += -xarch=sparcvis
   568 	LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il
   568   LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il
   569         LIBAWT_CFLAGS += \
   569   LIBAWT_CFLAGS += \
   570             -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
   570       -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
   571             -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \
   571       -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \
   572             -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
   572       -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
   573 
   573 
   574 	LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
   574   LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
   575                        $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
   575       $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
   576 
   576 
   577 	LIBAWT_FILES += \
   577   LIBAWT_FILES += \
   578                 vis_FuncArray.c           \
   578       vis_FuncArray.c \
   579                 java2d_Mlib.c             \
   579       java2d_Mlib.c \
   580                 mlib_ImageCreate.c        \
   580       mlib_ImageCreate.c \
   581                 mlib_ImageZoom_NN.c       \
   581       mlib_ImageZoom_NN.c \
   582                 mlib_ImageCopy_Bit.c      \
   582       mlib_ImageCopy_Bit.c \
   583                 mlib_sys.c                \
   583       mlib_sys.c \
   584                 mlib_v_ImageClear.c       \
   584       mlib_v_ImageClear.c \
   585                 mlib_v_ImageClear_f.c     \
   585       mlib_v_ImageClear_f.c \
   586                 mlib_v_ImageConstXor.c    \
   586       mlib_v_ImageConstXor.c \
   587                 mlib_v_ImageCopy.c        \
   587       mlib_v_ImageCopy.c \
   588                 mlib_v_ImageCopy_f.c      \
   588       mlib_v_ImageCopy_f.c \
   589                 mlib_v_ImageXor.c         \
   589       mlib_v_ImageXor.c \
   590                 mlib_v_ImageZoom_NN_f.c   \
   590       mlib_v_ImageZoom_NN_f.c \
   591                 vis_Interp.c              \
   591       vis_Interp.c \
   592                 vis_AlphaMacros.c         \
   592       vis_AlphaMacros.c \
   593                 vis_AlphaMaskBlit.c       \
   593       vis_AlphaMaskBlit.c \
   594                 vis_AlphaMaskFill.c       \
   594       vis_AlphaMaskFill.c \
   595                 vis_ByteGray.c            \
   595       vis_ByteGray.c \
   596                 vis_ByteGray_FromRgb.c    \
   596       vis_ByteGray_FromRgb.c \
   597                 vis_ByteGray_Mask.c       \
   597       vis_ByteGray_Mask.c \
   598                 vis_ByteIndexed.c         \
   598       vis_ByteIndexed.c \
   599                 vis_DrawLine.c            \
   599       vis_DrawLine.c \
   600                 vis_FourByteAbgr.c        \
   600       vis_FourByteAbgr.c \
   601                 vis_IntArgb.c             \
   601       vis_IntArgb.c \
   602                 vis_IntArgbPre.c          \
   602       vis_IntArgbPre.c \
   603                 vis_IntArgbPre_Mask.c     \
   603       vis_IntArgbPre_Mask.c \
   604                 vis_IntBgr.c              \
   604       vis_IntBgr.c \
   605                 vis_IntRgb.c              \
   605       vis_IntRgb.c \
   606                 vis_IntRgbx.c             \
   606       vis_IntRgbx.c \
   607                 vis_SrcMaskFill.c         \
   607       vis_SrcMaskFill.c \
   608                 vis_SrcOverMaskBlit.c     \
   608       vis_SrcOverMaskBlit.c \
   609                 vis_SrcOverMaskFill.c     \
   609       vis_SrcOverMaskFill.c \
   610                 vis_FourByteAbgrPre.c     \
   610       vis_FourByteAbgrPre.c \
   611                 vis_GlyphList.c           \
   611       vis_GlyphList.c \
   612                 vis_GlyphListXor.c        \
   612       vis_GlyphListXor.c \
   613                 vis_IntArgbBm.c           \
   613       vis_IntArgbBm.c \
   614                 vis_ThreeByteBgr.c        \
   614       vis_ThreeByteBgr.c \
   615                 vis_UshortGray.c          \
   615       vis_UshortGray.c \
   616                 vis_UshortGray_FromRgb.c  \
   616       vis_UshortGray_FromRgb.c \
   617                 vis_XorBlit.c             \
   617       vis_XorBlit.c \
   618                 mlib_v_ImageCopy_blk.s
   618       mlib_v_ImageCopy_blk.s
   619 
   619 
   620 	ifeq ($(OPENJDK_TARGET_CPU),sparcv9)
   620   ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
   621 		LIBAWT_ASFLAGS=-P -xarch=v9a
   621     LIBAWT_ASFLAGS = -P -xarch=v9a
   622 	else
   622   else
   623 		LIBAWT_ASFLAGS=-P -xarch=v8plusa
   623     LIBAWT_ASFLAGS = -P -xarch=v8plusa
   624 	endif
   624   endif
   625 else
   625 else
   626 	LIBAWT_FILES += MapAccelFunc.c
   626   LIBAWT_FILES += MapAccelFunc.c
   627 endif
   627 endif
   628 
   628 
   629 ifneq ($(OPENJDK_TARGET_OS),solaris)
   629 ifneq ($(OPENJDK_TARGET_OS), solaris)
   630 	LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
   630   LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
   631 endif
   631 endif
   632 
   632 
   633 LIBAWT_LANG:=C
   633 LIBAWT_LANG := C
   634 
   634 
   635 ifeq ($(OPENJDK_TARGET_OS),windows)
   635 ifeq ($(OPENJDK_TARGET_OS), windows)
   636 	LIBAWT_FILES += AccelGlyphCache.c \
   636   LIBAWT_FILES += AccelGlyphCache.c \
   637 			ShaderList.c \
   637       ShaderList.c \
   638 			CmdIDList.cpp \
   638       CmdIDList.cpp \
   639 			Hashtable.cpp \
   639       Hashtable.cpp \
   640 			GDIHashtable.cpp \
   640       GDIHashtable.cpp \
   641 			Devices.cpp \
   641       Devices.cpp \
   642 			ObjectList.cpp \
   642       ObjectList.cpp \
   643 			GDIBlitLoops.cpp \
   643       GDIBlitLoops.cpp \
   644 			GDIRenderer.cpp \
   644       GDIRenderer.cpp \
   645 			GDIWindowSurfaceData.cpp \
   645       GDIWindowSurfaceData.cpp \
   646 			WindowsFlags.cpp \
   646       WindowsFlags.cpp \
   647 			WPrinterJob.cpp \
   647       WPrinterJob.cpp \
   648 			awt_%.cpp \
   648       awt_%.cpp \
   649 			D3DBlitLoops.cpp \
   649       D3DBlitLoops.cpp \
   650 			D3DBufImgOps.cpp \
   650       D3DBufImgOps.cpp \
   651 			D3DContext.cpp \
   651       D3DContext.cpp \
   652 			D3DGlyphCache.cpp \
   652       D3DGlyphCache.cpp \
   653 			D3DGraphicsDevice.cpp \
   653       D3DGraphicsDevice.cpp \
   654 			D3DMaskBlit.cpp \
   654       D3DMaskBlit.cpp \
   655 			D3DMaskCache.cpp \
   655       D3DMaskCache.cpp \
   656 			D3DMaskFill.cpp \
   656       D3DMaskFill.cpp \
   657 			D3DPipelineManager.cpp \
   657       D3DPipelineManager.cpp \
   658 			D3DPaints.cpp \
   658       D3DPaints.cpp \
   659 			D3DRenderer.cpp \
   659       D3DRenderer.cpp \
   660 			D3DRenderQueue.cpp \
   660       D3DRenderQueue.cpp \
   661 			D3DResourceManager.cpp \
   661       D3DResourceManager.cpp \
   662 			D3DSurfaceData.cpp \
   662       D3DSurfaceData.cpp \
   663 			D3DTextRenderer.cpp \
   663       D3DTextRenderer.cpp \
   664 			D3DVertexCacher.cpp \
   664       D3DVertexCacher.cpp \
   665 			ShellFolder2.cpp \
   665       ShellFolder2.cpp \
   666 			ThemeReader.cpp \
   666       ThemeReader.cpp \
   667 			ComCtl32Util.cpp \
   667       ComCtl32Util.cpp \
   668 			DllUtil.cpp \
   668       DllUtil.cpp \
   669 			initIDs.cpp \
   669       initIDs.cpp \
   670 			MouseInfo.cpp \
   670       MouseInfo.cpp \
   671 			rect.c \
   671       rect.c \
   672 			OGLBlitLoops.c \
   672       OGLBlitLoops.c \
   673 			OGLBufImgOps.c \
   673       OGLBufImgOps.c \
   674 		        OGLContext.c \
   674       OGLContext.c \
   675 		        OGLFuncs.c \
   675       OGLFuncs.c \
   676 		        OGLMaskBlit.c \
   676       OGLMaskBlit.c \
   677 		        OGLMaskFill.c \
   677       OGLMaskFill.c \
   678 		        OGLPaints.c \
   678       OGLPaints.c \
   679 		        OGLRenderQueue.c \
   679       OGLRenderQueue.c \
   680 		        OGLRenderer.c \
   680       OGLRenderer.c \
   681 		        OGLSurfaceData.c \
   681       OGLSurfaceData.c \
   682 		        OGLTextRenderer.c \
   682       OGLTextRenderer.c \
   683 		        OGLVertexCache.c \
   683       OGLVertexCache.c \
   684 		        WGLGraphicsConfig.c \
   684       WGLGraphicsConfig.c \
   685 		        WGLSurfaceData.c
   685       WGLSurfaceData.c
   686 	LIBAWT_LANG:=C++
   686 
   687 	LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
   687   LIBAWT_LANG := C++
   688 	ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
   688   LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
   689 		LIBAWT_CFLAGS += -DMLIB_OS64BIT
   689   ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
   690 	endif
   690     LIBAWT_CFLAGS += -DMLIB_OS64BIT
   691 
   691   endif
   692 	ifdef OPENJDK
   692 
   693 		LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/windows/resource/icons"
   693   ifdef OPENJDK
   694 	else
   694     LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/windows/resource/icons"
   695 		LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
   695   else
   696 	endif
   696     LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
   697 	LIBAWT_VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
   697   endif
       
   698   LIBAWT_VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
   698 endif
   699 endif
   699 
   700 
   700 ifeq ($(MILESTONE), internal)
   701 ifeq ($(MILESTONE), internal)
   701 	LIBAWT_CFLAGS += -DINTERNAL_BUILD
   702   LIBAWT_CFLAGS += -DINTERNAL_BUILD
   702 endif
   703 endif
   703 
   704 
   704 LIBAWT_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
   705 LIBAWT_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
   705 ifeq ($(OPENJDK_TARGET_OS),linux)
   706 ifeq ($(OPENJDK_TARGET_OS), linux)
   706 	LIBAWT_MAPFILE:=
   707   LIBAWT_MAPFILE :=
   707 endif
   708 endif
   708 
   709 
   709 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\
   710 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT, \
   710 		LIBRARY:=awt,\
   711     LIBRARY := awt, \
   711                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
   712     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
   712 		SRC:=$(LIBAWT_DIRS),\
   713     SRC := $(LIBAWT_DIRS), \
   713 		INCLUDE_FILES:=$(LIBAWT_FILES),\
   714     INCLUDE_FILES := $(LIBAWT_FILES), \
   714 		LANG:=$(LIBAWT_LANG),\
   715     LANG := $(LIBAWT_LANG), \
   715 		OPTIMIZATION:=LOW, \
   716     OPTIMIZATION := LOW, \
   716 		CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS),\
   717     CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
   717 		ASFLAGS:=$(LIBAWT_ASFLAGS),\
   718     ASFLAGS := $(LIBAWT_ASFLAGS), \
   718 		MAPFILE:=$(LIBAWT_MAPFILE), \
   719     MAPFILE := $(LIBAWT_MAPFILE), \
   719 		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
   720     LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
   720 		LDFLAGS_solaris:=-R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
   721     LDFLAGS_solaris := -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \
   721 		LDFLAGS_SUFFIX_linux:=-ljvm $(LIBM) $(LIBDL) -ljava,\
   722     LDFLAGS_SUFFIX_linux := -ljvm $(LIBM) $(LIBDL) -ljava, \
   722 		LDFLAGS_SUFFIX_solaris:=-ljvm $(LIBM) $(LIBDL) -ljava -lc,\
   723     LDFLAGS_SUFFIX_solaris := -ljvm $(LIBM) $(LIBDL) -ljava -lc, \
   723 		LDFLAGS_SUFFIX_macosx:=-lmlib_image -ljvm $(LIBM) \
   724     LDFLAGS_SUFFIX_macosx := -lmlib_image -ljvm $(LIBM) \
   724 				       -framework Cocoa \
   725         -framework Cocoa \
   725 				       -framework OpenGL \
   726         -framework OpenGL \
   726 				       -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
   727         -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
   727 				       -framework JavaNativeFoundation \
   728         -framework JavaNativeFoundation \
   728 				       -framework JavaRuntimeSupport \
   729         -framework JavaRuntimeSupport \
   729 				       -framework ApplicationServices \
   730         -framework ApplicationServices \
   730 				       -framework AudioToolbox \
   731         -framework AudioToolbox \
   731 				       -ljava,\
   732         -ljava, \
   732 		LDFLAGS_SUFFIX_windows:=kernel32.lib user32.lib gdi32.lib winspool.lib \
   733     LDFLAGS_SUFFIX_windows := kernel32.lib user32.lib gdi32.lib winspool.lib \
   733 					imm32.lib ole32.lib uuid.lib shell32.lib \
   734         imm32.lib ole32.lib uuid.lib shell32.lib \
   734 					comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
   735         comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
   735 					delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
   736         delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
   736 					-DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
   737         -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
   737 					-DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \
   738         -DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \
   738 					-DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \
   739         -DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \
   739 					-DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \
   740         -DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \
   740 					-DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll,\
   741         -DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll, \
   741 		VERSIONINFO_RESOURCE:=$(LIBAWT_VERSIONINFO_RESOURCE),\
   742     VERSIONINFO_RESOURCE := $(LIBAWT_VERSIONINFO_RESOURCE), \
   742 		RC_FLAGS:=$(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
   743     RC_FLAGS := $(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
   743 			  -D "JDK_FNAME=awt.dll" \
   744         -D "JDK_FNAME=awt.dll" \
   744 			  -D "JDK_INTERNAL_NAME=awt" \
   745         -D "JDK_INTERNAL_NAME=awt" \
   745 			  -D "JDK_FTYPE=0x2L",\
   746         -D "JDK_FTYPE=0x2L", \
   746 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt,\
   747     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt, \
   747 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
   748     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
   748 
   749 
   749 $(BUILD_LIBAWT) : $(BUILD_LIBJAVA)
   750 $(BUILD_LIBAWT): $(BUILD_LIBJAVA)
   750 
   751 
   751 ifeq ($(OPENJDK_TARGET_OS), macosx)
   752 ifeq ($(OPENJDK_TARGET_OS), macosx)
   752 $(BUILD_LIBAWT) : $(BUILD_LIBMLIB_IMAGE)
   753   $(BUILD_LIBAWT): $(BUILD_LIBMLIB_IMAGE)
   753 endif
   754 endif
   754 
   755 
   755 BUILD_LIBRARIES += $(BUILD_LIBAWT)
   756 BUILD_LIBRARIES += $(BUILD_LIBAWT)
   756 
   757 
   757 ##########################################################################################
   758 ##########################################################################################
   760 # Even though this variable as a general name, it is
   761 # Even though this variable as a general name, it is
   761 # only used on macos, in fontpath.c, as prefix for where to find fonts.
   762 # only used on macos, in fontpath.c, as prefix for where to find fonts.
   762 #
   763 #
   763 # It's used for libawt_headless _and_ libawt_xawt
   764 # It's used for libawt_headless _and_ libawt_xawt
   764 #
   765 #
   765 X11_PATH:=/usr/X11R6
   766 X11_PATH := /usr/X11R6
   766 
   767 
   767 ifneq ($(OPENJDK_TARGET_OS), windows)
   768 ifneq ($(OPENJDK_TARGET_OS), windows)
   768 ifndef BUILD_HEADLESS_ONLY
   769   ifndef BUILD_HEADLESS_ONLY
   769 
   770 
   770 LIBAWT_XAWT_DIRS:=\
   771     LIBAWT_XAWT_DIRS := \
   771 		$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
   772         $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
   772 		$(JDK_TOPDIR)/src/share/native/sun/awt/utility \
   773         $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
   773 		$(JDK_TOPDIR)/src/share/native/sun/font \
   774         $(JDK_TOPDIR)/src/share/native/sun/font \
   774 		$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
   775         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
   775 		$(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
   776         $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
   776 		$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
   777         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
   777 		$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
   778         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
   778 		$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 \
   779         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 \
   779 		$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/xawt \
   780         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/xawt \
   780 
   781 
   781 LIBAWT_XAWT_CFLAGS:=-DXAWT -DXAWT_HACK \
   782     LIBAWT_XAWT_CFLAGS := -DXAWT -DXAWT_HACK \
   782         -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
   783         -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
   783 	$(CUPS_CFLAGS) \
   784         $(CUPS_CFLAGS) \
   784 	$(foreach dir,$(LIBAWT_XAWT_DIRS),-I$(dir)) \
   785         $(foreach dir, $(LIBAWT_XAWT_DIRS), -I$(dir)) \
   785 	-I$(JDK_TOPDIR)/src/share/native/sun/java2d \
   786         -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
   786 	-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
   787         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
   787 	-I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
   788         -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
   788 	-I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
   789         -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
   789 	-I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
   790         -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
   790 	-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
   791         -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
   791 	-I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
   792         -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
   792 	-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga
   793         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga
   793 
   794 
   794 ifeq ($(OPENJDK_TARGET_OS),solaris)
   795     ifeq ($(OPENJDK_TARGET_OS), solaris)
   795 	LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
   796       LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
   796 endif
   797     endif
   797 
   798 
   798 ifeq ($(OPENJDK_TARGET_OS),linux)
   799     ifeq ($(OPENJDK_TARGET_OS), linux)
   799 ifndef OPENJDK
   800       ifndef OPENJDK
   800 include $(JDK_TOPDIR)/make/closed/xawt.gmk
   801         include $(JDK_TOPDIR)/make/closed/xawt.gmk
   801 endif
   802       endif
   802 
   803 
   803 ifeq ($(DISABLE_XRENDER),true)
   804       ifeq ($(DISABLE_XRENDER), true)
   804 	LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true
   805         LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true
   805 endif
   806       endif
   806 endif
   807     endif
   807 
   808 
   808 ifeq ($(MILESTONE),internal)
   809     ifeq ($(MILESTONE), internal)
   809 	LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
   810       LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
   810 endif
   811     endif
   811 
   812 
   812 LIBAWT_XAWT_FILES:=\
   813     LIBAWT_XAWT_FILES := \
   813 	XlibWrapper.c \
   814         XlibWrapper.c \
   814 	XWindow.c \
   815         XWindow.c \
   815 	XToolkit.c \
   816         XToolkit.c \
   816 	X11Color.c \
   817         X11Color.c \
   817 	X11SurfaceData.c \
   818         X11SurfaceData.c \
   818 	awt_GraphicsEnv.c \
   819         awt_GraphicsEnv.c \
   819 	awt_InputMethod.c \
   820         awt_InputMethod.c \
   820 	robot_common.c \
   821         robot_common.c \
   821 	awt_Robot.c \
   822         awt_Robot.c \
   822         list.c \
   823         list.c \
   823         multiVis.c \
   824         multiVis.c \
   824 	initIDs.c \
   825         initIDs.c \
   825 	awt_util.c \
   826         awt_util.c \
   826 	awt_Desktop.c \
   827         awt_Desktop.c \
   827 	awt_UNIXToolkit.c \
   828         awt_UNIXToolkit.c \
   828 	X11FontScaler_md.c \
   829         X11FontScaler_md.c \
   829 	X11TextRenderer_md.c \
   830         X11TextRenderer_md.c \
   830 	fontpath.c \
   831         fontpath.c \
   831 	awt_Insets.c \
   832         awt_Insets.c \
   832 	awt_Event.c \
   833         awt_Event.c \
   833 	X11Renderer.c \
   834         X11Renderer.c \
   834 	X11PMBlitLoops.c \
   835         X11PMBlitLoops.c \
   835 	OGLBlitLoops.c \
       
   836 	OGLBufImgOps.c \
       
   837 	OGLContext.c \
       
   838 	OGLFuncs.c \
       
   839 	OGLMaskBlit.c \
       
   840 	OGLMaskFill.c \
       
   841 	OGLPaints.c \
       
   842 	OGLRenderQueue.c \
       
   843 	OGLRenderer.c \
       
   844 	OGLSurfaceData.c \
       
   845 	OGLTextRenderer.c \
       
   846 	OGLVertexCache.c \
       
   847 	GLXGraphicsConfig.c \
       
   848 	GLXSurfaceData.c \
       
   849 	AccelGlyphCache.c \
       
   850 	awt_Font.c \
       
   851 	multi_font.c \
       
   852 	awt_AWTEvent.c \
       
   853 	awt_DrawingSurface.c \
       
   854 	jawt.c \
       
   855 	CUPSfuncs.c \
       
   856 	debug_assert.c \
       
   857 	debug_mem.c \
       
   858 	debug_trace.c \
       
   859 	debug_util.c \
       
   860 	awt_Plugin.c \
       
   861         gnome_interface.c \
       
   862 	gtk2_interface.c \
       
   863         swing_GTKEngine.c \
       
   864         swing_GTKStyle.c \
       
   865         rect.c \
       
   866 	sun_awt_X11_GtkFileDialogPeer.c \
       
   867 	XRSurfaceData.c \
       
   868 	XRBackendNative.c
       
   869 
       
   870 LIBAWT_XAWT_LDFLAGS_SUFFIX:=$(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi  -ljava -ljvm -lc
       
   871 
       
   872 ifeq ($(OPENJDK_TARGET_OS), linux)
       
   873         # To match old build, add this to LDFLAGS instead of suffix.
       
   874 	LIBAWT_XAWT_LDFLAGS += -lpthread
       
   875 endif
       
   876 
       
   877 ifeq ($(OPENJDK_TARGET_OS), macosx)
       
   878 	LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
       
   879 endif
       
   880 
       
   881 # On macosx, the shared library origin is set twice for this lib.
       
   882 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT,\
       
   883 		LIBRARY:=awt_xawt,\
       
   884                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
   885 		SRC:=$(LIBAWT_XAWT_DIRS),\
       
   886 		INCLUDE_FILES:=$(LIBAWT_XAWT_FILES),\
       
   887 		LANG:=C,\
       
   888 		OPTIMIZATION:=LOW, \
       
   889 		CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
       
   890                         $(X_CFLAGS),\
       
   891 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \
       
   892 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
   893 			 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS),\
       
   894 		LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN) \
       
   895 			       $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
       
   896 		LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
       
   897 				 -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
       
   898 				 -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
       
   899 				 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
       
   900 				 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
       
   901 			 	 $(call SET_SHARED_LIBRARY_ORIGIN) \
       
   902 			 	 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
       
   903 		LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN) \
       
   904 				$(call SET_SHARED_LIBRARY_ORIGIN). \
       
   905 				$(call SET_SHARED_LIBRARY_ORIGIN) \
       
   906 				$(call SET_SHARED_LIBRARY_ORIGIN).,\
       
   907 		LDFLAGS_SUFFIX:=$(LIBAWT_XAWT_LDFLAGS_SUFFIX),\
       
   908 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
   909 		RC_FLAGS:=$(RC_FLAGS)\
       
   910 			  -D "JDK_FNAME=xawt.dll" \
       
   911 			  -D "JDK_INTERNAL_NAME=xawt" \
       
   912 			  -D "JDK_FTYPE=0x2L",\
       
   913 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_xawt,\
       
   914 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
   915 
       
   916 $(BUILD_LIBAWT_XAWT) : $(BUILD_LIBJAVA)
       
   917 
       
   918 $(BUILD_LIBAWT_XAWT) : $(BUILD_LIBAWT)
       
   919 
       
   920 BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT)
       
   921 
       
   922 endif
       
   923 endif
       
   924 
       
   925 ##########################################################################################
       
   926 
       
   927 BUILD_LIBZIP_EXCLUDES :=
       
   928 ifeq ($(USE_EXTERNAL_LIBZ),true)
       
   929     LIBZ := -lz
       
   930     LIBZIP_EXCLUDES += zlib-1.2.5
       
   931 else
       
   932     ZLIB_CPPFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
       
   933 endif
       
   934 
       
   935 BUILD_LIBZIP_REORDER :=
       
   936 ifeq ($(OPENJDK_TARGET_OS), solaris)
       
   937     ifneq ($(OPENJDK_TARGET_CPU), x86_64)
       
   938         BUILD_LIBZIP_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(OPENJDK_TARGET_CPU)
       
   939     endif
       
   940 endif
       
   941 
       
   942 ifeq ($(LIBZIP_CAN_USE_MMAP), true)
       
   943      BUILD_LIBZIP_MMAP := -DUSE_MMAP
       
   944 endif
       
   945 
       
   946 $(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\
       
   947                 LIBRARY:=zip,\
       
   948                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
   949 		LANG:=C,\
       
   950 		OPTIMIZATION:=LOW, \
       
   951 		SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip,\
       
   952 		EXCLUDES:=$(LIBZIP_EXCLUDES),\
       
   953 		CFLAGS:=$(CFLAGS_JDKLIB) \
       
   954                         $(ZLIB_CPPFLAGS) \
       
   955 		        -I$(JDK_TOPDIR)/src/share/native/java/io \
       
   956                         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io,\
       
   957 		CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\
       
   958 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
       
   959 		REORDER:=$(BUILD_LIBZIP_REORDER), \
       
   960 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
   961 			 $(call SET_SHARED_LIBRARY_ORIGIN) \
       
   962 			 $(EXPORT_ZIP_FUNCS), \
       
   963 		LDFLAGS_windows:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
       
   964                                 -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
       
   965                                 $(WIN_JAVA_LIB),\
       
   966 		LDFLAGS_SUFFIX_linux:=-ljvm -ljava $(LIBZ),\
       
   967 		LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ) -lc,\
       
   968 		LDFLAGS_SUFFIX_macosx:=$(LIBZ) -ljava -ljvm,\
       
   969 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
   970 		RC_FLAGS:=$(RC_FLAGS)\
       
   971 			  -D "JDK_FNAME=zip.dll" \
       
   972 			  -D "JDK_INTERNAL_NAME=zip" \
       
   973 			  -D "JDK_FTYPE=0x2L",\
       
   974 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip,\
       
   975 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
   976 
       
   977 $(BUILD_LIBZIP) : $(BUILD_LIBJAVA)
       
   978 
       
   979 BUILD_LIBRARIES += $(BUILD_LIBZIP)
       
   980 
       
   981 ##########################################################################################
       
   982 
       
   983 $(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
       
   984 		LIBRARY:=unpack, \
       
   985                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
   986                 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
       
   987 		EXCLUDE_FILES:=main.cpp,\
       
   988 		LANG:=C++,\
       
   989 		OPTIMIZATION:=LOW, \
       
   990 		CFLAGS:=$(CXXFLAGS_JDKLIB) \
       
   991 			 -DNO_ZLIB -DUNPACK_JNI -DFULL,\
       
   992 		CFLAGS_release:=-DPRODUCT,\
       
   993 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
       
   994 		LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
       
   995 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
   996 		LDFLAGS_windows:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map -debug \
       
   997 				jvm.lib $(WIN_JAVA_LIB),\
       
   998 		LDFLAGS_SUFFIX_posix:=-ljvm $(LIBCXX) -ljava -lc,\
       
   999 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libunpack,\
       
  1000 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1001 		RC_FLAGS:=$(RC_FLAGS)\
       
  1002 			  -D "JDK_FNAME=unpack.dll" \
       
  1003 			  -D "JDK_INTERNAL_NAME=unpack" \
       
  1004 			  -D "JDK_FTYPE=0x2L",\
       
  1005 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  1006 
       
  1007 $(BUILD_LIBUNPACK) : $(BUILD_LIBJAVA)
       
  1008 
       
  1009 BUILD_LIBRARIES += $(BUILD_LIBUNPACK)
       
  1010 
       
  1011 ifeq ($(OPENJDK_TARGET_OS),windows)
       
  1012     $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK)
       
  1013 	$(ECHO) Copying $(@F)
       
  1014 	$(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
       
  1015 
       
  1016     $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
       
  1017 	$(ECHO) Copying $(@F)
       
  1018 	$(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
       
  1019 endif
       
  1020 
       
  1021 ##########################################################################################
       
  1022 
       
  1023 LIBATTACH_EXCLUDE_FILES:=
       
  1024 ifneq ($(OPENJDK_TARGET_OS),solaris)
       
  1025     LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
       
  1026 endif
       
  1027 ifneq ($(OPENJDK_TARGET_OS),linux)
       
  1028     LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
       
  1029 endif
       
  1030 ifneq ($(OPENJDK_TARGET_OS),macosx)
       
  1031     LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
       
  1032 endif
       
  1033 
       
  1034 $(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
       
  1035 		LIBRARY:=attach, \
       
  1036                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1037                 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach,\
       
  1038 		EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
       
  1039 		LANG:=C,\
       
  1040 		OPTIMIZATION:=LOW, \
       
  1041 		CFLAGS:=$(CFLAGS_JDKLIB),\
       
  1042 		CFLAGS_windows:=/Gy,\
       
  1043 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
       
  1044 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1045 		RC_FLAGS:=$(RC_FLAGS) \
       
  1046 			  -D "JDK_FNAME=attach.dll" \
       
  1047 			  -D "JDK_INTERNAL_NAME=attach" \
       
  1048 			  -D "JDK_FTYPE=0x2L",\
       
  1049 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  1050 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  1051 		LDFLAGS_solaris:=-ldoor,\
       
  1052 		LDFLAGS_windows:=/ORDER:@$(JDK_TOPDIR)/makefiles/mapfiles/libattach/reorder-windows-$(OPENJDK_TARGET_CPU),\
       
  1053 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
       
  1054 		LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib psapi.lib,\
       
  1055 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libattach,\
       
  1056 		DEBUG_SYMBOLS:=true))
       
  1057 
       
  1058 $(BUILD_LIBATTACH) : $(BUILD_LIBJAVA)
       
  1059 
       
  1060 BUILD_LIBRARIES += $(BUILD_LIBATTACH)
       
  1061 
       
  1062 ##########################################################################################
       
  1063 
       
  1064 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\
       
  1065 		LIBRARY:=dt_socket,\
       
  1066                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1067                 SRC:=$(JDK_TOPDIR)/src/share/transport/socket \
       
  1068 			$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket,\
       
  1069 		LANG:=C,\
       
  1070 		OPTIMIZATION:=LOW, \
       
  1071 		CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP \
       
  1072                         -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
       
  1073                         -I$(JDK_TOPDIR)/src/share/transport/socket \
       
  1074 		        -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \
       
  1075                         -I$(JDK_TOPDIR)/src/share/back/export \
       
  1076                         -I$(JDK_TOPDIR)/src/share/back,\
       
  1077 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
       
  1078 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  1079 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1080 		LDFLAGS_SUFFIX_linux:=-lpthread,\
       
  1081 		LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lc,\
       
  1082 		LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib,\
       
  1083 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1084 		RC_FLAGS:=$(RC_FLAGS)\
       
  1085 			  -D "JDK_FNAME=dt_socket.dll" \
       
  1086 			  -D "JDK_INTERNAL_NAME=dt_socket" \
       
  1087 			  -D "JDK_FTYPE=0x2L",\
       
  1088 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\
       
  1089 		DEBUG_SYMBOLS:=true))
       
  1090 
       
  1091 $(BUILD_LIBDT_SOCKET) : $(BUILD_LIBJAVA)
       
  1092 
       
  1093 BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
       
  1094 
       
  1095 ##########################################################################################
       
  1096 
       
  1097 ifeq ($(OPENJDK_TARGET_OS),windows)
       
  1098 
       
  1099   $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\
       
  1100 		LIBRARY:=dt_shmem,\
       
  1101                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1102                 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
       
  1103 			$(JDK_TOPDIR)/src/share/transport/shmem \
       
  1104 			$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem,\
       
  1105 		LANG:=C,\
       
  1106 		OPTIMIZATION:=LOW, \
       
  1107 		CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP\
       
  1108                         -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
       
  1109                         -I$(JDK_TOPDIR)/src/share/transport/shmem \
       
  1110 		        -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \
       
  1111                         -I$(JDK_TOPDIR)/src/share/back/export, \
       
  1112 		LDFLAGS:=$(LDFLAGS_JDKLIB),\
       
  1113 		LDFLAGS_windows:=-export:jdwpTransport_OnLoad,\
       
  1114 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
       
  1115 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1116 		RC_FLAGS:=$(RC_FLAGS)\
       
  1117 			  -D "JDK_FNAME=dt_shmem.dll" \
       
  1118 			  -D "JDK_INTERNAL_NAME=dt_shmem" \
       
  1119 			  -D "JDK_FTYPE=0x2L",\
       
  1120 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_shmem,\
       
  1121 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  1122 
       
  1123   BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
       
  1124 
       
  1125 endif # OPENJDK_TARGET_OS
       
  1126 
       
  1127 ##########################################################################################
       
  1128 # JDWP_LOGGING causes log messages to be compiled into the library.
       
  1129 $(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\
       
  1130 		LIBRARY:=jdwp, \
       
  1131                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1132                 SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back,\
       
  1133 		LANG:=C,\
       
  1134 		OPTIMIZATION:=LOW, \
       
  1135 		CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING\
       
  1136 		 -I$(JDK_TOPDIR)/src/share/transport/export \
       
  1137                  -I$(JDK_TOPDIR)/src/share/back/export \
       
  1138                  -I$(JDK_TOPDIR)/src/share/npt \
       
  1139                  -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
       
  1140                  -I$(JDK_TOPDIR)/src/share/back \
       
  1141                  -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \
       
  1142 		 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\
       
  1143 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
       
  1144 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  1145 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  1146 		LDFLAGS_SUFFIX_linux:=$(LIBDL),\
       
  1147 		LDFLAGS_SUFFIX_solaris:=$(LIBDL) -lc,\
       
  1148 		LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
       
  1149 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1150 		RC_FLAGS:=$(RC_FLAGS)\
       
  1151 			  -D "JDK_FNAME=jdwp.dll" \
       
  1152 			  -D "JDK_INTERNAL_NAME=jdwp" \
       
  1153 			  -D "JDK_FTYPE=0x2L",\
       
  1154 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjdwp,\
       
  1155 		DEBUG_SYMBOLS:=true))
       
  1156 
       
  1157 $(BUILD_LIBJDWP) : $(BUILD_LIBJAVA)
       
  1158 
       
  1159 BUILD_LIBRARIES += $(BUILD_LIBJDWP)
       
  1160 
       
  1161 ##########################################################################################
       
  1162 
       
  1163 LIBJAAS_MAPFILE:=
       
  1164 ifneq ($(OPENJDK_TARGET_OS),solaris)
       
  1165    LIBJAAS_EXCLUDE_FILES:=Solaris.c
       
  1166 else
       
  1167    # only on solaris...wonder why
       
  1168    LIBJAAS_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
       
  1169 endif
       
  1170 
       
  1171 LIBJAAS_NAME:=jaas_unix
       
  1172 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  1173      LIBJAAS_NAME:=jaas_nt
       
  1174 endif
       
  1175 
       
  1176 $(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\
       
  1177 		LIBRARY:=$(LIBJAAS_NAME),\
       
  1178                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1179                 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/security/auth/module,\
       
  1180 		LANG:=C,\
       
  1181 		OPTIMIZATION:=LOW, \
       
  1182 		CFLAGS:=$(CFLAGS_JDKLIB),\
       
  1183 		MAPFILE:=$(LIBJAAS_MAPFILE),\
       
  1184 		LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
       
  1185 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  1186 		LDFLAGS_windows:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
       
  1187 		LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
       
  1188 		LDFLAGS_SUFFIX_solaris:=-lc,\
       
  1189 		EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
       
  1190 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1191 		RC_FLAGS:=$(RC_FLAGS) \
       
  1192 			  -D "JDK_FNAME=$(LIBJAAS_NAME).dll" \
       
  1193 			  -D "JDK_INTERNAL_NAME=$(LIBJAAS_NAME)" \
       
  1194 			  -D "JDK_FTYPE=0x2L",\
       
  1195 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjaas,\
       
  1196 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  1197 
       
  1198 $(BUILD_LIBJAAS) : $(BUILD_LIBJAVA)
       
  1199 
       
  1200 BUILD_LIBRARIES += $(BUILD_LIBJAAS)
       
  1201 
       
  1202 ##########################################################################################
       
  1203 
       
  1204 $(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\
       
  1205 		LIBRARY:=jsdt,\
       
  1206                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1207                 SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\
       
  1208 			$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace,\
       
  1209 		LANG:=C,\
       
  1210 		OPTIMIZATION:=LOW, \
       
  1211 		CFLAGS:=$(CFLAGS_JDKLIB)\
       
  1212 			-I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\
       
  1213 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
       
  1214 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  1215 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  1216 		LDFLAGS_SUFFIX_linux:=$(LIBDL),\
       
  1217 		LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
       
  1218 		LDFLAGS_SUFFIX_macosx:=                         $(LIBDL),\
       
  1219 		LDFLAGS_SUFFIX_solaris:=-lc,\
       
  1220 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1221 		RC_FLAGS:=$(RC_FLAGS)\
       
  1222 			  -D "JDK_FNAME=jsdt.dll" \
       
  1223 			  -D "JDK_INTERNAL_NAME=jsdt" \
       
  1224 			  -D "JDK_FTYPE=0x2L",\
       
  1225 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsdt, \
       
  1226                 DEBUG_SYMBOLS:=true))
       
  1227 
       
  1228 $(BUILD_LIBJSDT) : $(BUILD_LIBJAVA)
       
  1229 
       
  1230 BUILD_LIBRARIES += $(BUILD_LIBJSDT)
       
  1231 
       
  1232 ##########################################################################################
       
  1233 
       
  1234     # TODO: Update awt lib path when awt is converted
       
  1235     $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
       
  1236                 LIBRARY:=lcms,\
       
  1237                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1238                 SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms,\
       
  1239 		LANG:=C,\
       
  1240 		OPTIMIZATION:=HIGHEST, \
       
  1241 		CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \
       
  1242 			$(SHARED_LIBRARY_FLAGS) \
       
  1243 			-I$(JDK_TOPDIR)/src/share/native/sun/java2d \
       
  1244 			-I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
       
  1245 		CFLAGS_solaris:=-xc99=no_lib,\
       
  1246 		CFLAGS_windows:=-DCMS_IS_WINDOWS_,\
       
  1247 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
       
  1248 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  1249                          $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1250 		LDFLAGS_solaris:=/usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2,\
       
  1251 		LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
       
  1252 		LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\
       
  1253 		LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\
       
  1254 		LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\
       
  1255 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1256 		RC_FLAGS:=$(RC_FLAGS)\
       
  1257 			  -D "JDK_FNAME=lcms.dll" \
       
  1258 			  -D "JDK_INTERNAL_NAME=lcms" \
       
  1259 			  -D "JDK_FTYPE=0x2L",\
       
  1260 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\
       
  1261 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  1262 
       
  1263     BUILD_LIBRARIES += $(BUILD_LIBLCMS)
       
  1264 
       
  1265     $(BUILD_LIBLCMS) : $(BUILD_LIBAWT)
       
  1266 
       
  1267 ##########################################################################################
       
  1268 
       
  1269 ifdef OPENJDK
       
  1270     BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
       
  1271 else
       
  1272     BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
       
  1273     BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
       
  1274     BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
       
  1275 endif
       
  1276 
       
  1277 BUILD_LIBJPEG_REORDER:=
       
  1278 ifeq ($(OPENJDK_TARGET_OS), solaris)
       
  1279     ifneq ($(OPENJDK_TARGET_CPU), x86_64)
       
  1280         BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
       
  1281     endif
       
  1282 endif
       
  1283 
       
  1284 # Suppress gcc warnings like "variable might be clobbered by 'longjmp'
       
  1285 # or 'vfork'": this warning indicates that some variable is placed to
       
  1286 # a register by optimized compiler and it's value might be lost on longjmp().
       
  1287 # Recommended way to avoid such warning is to declare the variable as
       
  1288 # volatile to prevent the optimization. However, this approach does not
       
  1289 # work because we have to declare all variables as volatile in result.
       
  1290 #ifndef CROSS_COMPILE_ARCH
       
  1291 #    CC_43_OR_NEWER:=\
       
  1292 #        $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
       
  1293 #              \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
       
  1294 #    ifeq ($(CC_43_OR_NEWER),1)
       
  1295 #        BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
       
  1296 #    endif
       
  1297 #endif
       
  1298 
       
  1299 $(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
       
  1300                 LIBRARY:=jpeg, \
       
  1301                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1302                 SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
       
  1303 		     $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
       
  1304 		LANG:=C,\
       
  1305 		OPTIMIZATION:=HIGHEST, \
       
  1306 		CFLAGS:=$(CFLAGS_JDKLIB) \
       
  1307 			$(BUILD_LIBJPEG_CLOSED_INCLUDES) \
       
  1308 			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
       
  1309 		MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \
       
  1310 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  1311 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  1312 		LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib,\
       
  1313 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
       
  1314 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1315 		RC_FLAGS:=$(RC_FLAGS)\
       
  1316 			  -D "JDK_FNAME=jpeg.dll" \
       
  1317 			  -D "JDK_INTERNAL_NAME=jpeg" \
       
  1318 			  -D "JDK_FTYPE=0x2L",\
       
  1319 		REORDER:=$(BUILD_LIBJPEG_REORDER),\
       
  1320 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg,\
       
  1321 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  1322 
       
  1323 $(BUILD_LIBJPEG) : $(BUILD_LIBJAVA)
       
  1324 
       
  1325 BUILD_LIBRARIES += $(BUILD_LIBJPEG)
       
  1326 
       
  1327 ##########################################################################################
       
  1328 
       
  1329 ifndef OPENJDK
       
  1330     FONT_HEADERS:=-I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k
       
  1331     BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
       
  1332     LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
       
  1333 else
       
  1334     FONT_HEADERS:=$(FREETYPE2_CFLAGS)
       
  1335     BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
       
  1336     BUILD_LIBFONTMANAGER_FONTLIB:=$(FREETYPE2_LIBS)
       
  1337 endif
       
  1338 
       
  1339 LIBFONTMANAGER_OPTIMIZATION:=HIGH
       
  1340 
       
  1341 ifeq ($(OPENJDK_TARGET_OS),windows)
       
  1342     LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
       
  1343 				    X11TextRenderer.c
       
  1344 LIBFONTMANAGER_OPTIMIZATION:=HIGHEST
       
  1345 else
       
  1346     LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
       
  1347 				    lcdglyph.c
       
  1348 endif
       
  1349 
       
  1350 BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\
       
  1351 			$(X_CFLAGS) \
       
  1352 			-DLE_STANDALONE -DHEADLESS \
       
  1353 			$(FONT_HEADERS) \
       
  1354 			-I$(JDK_TOPDIR)/src/share/native/sun/font \
       
  1355 			-I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
       
  1356 			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
       
  1357 			-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
       
  1358 			-I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
       
  1359 			-I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
       
  1360 			-I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
       
  1361 			-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
       
  1362 			-I$(JDK_TOPDIR)/src/share/native/sun/java2d
       
  1363 
       
  1364 # Turn off aliasing with GCC for ExtensionSubtables.cpp
       
  1365 ifeq ($(OPENJDK_TARGET_OS), linux)
       
  1366     BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing
       
  1367 endif
       
  1368 
       
  1369 $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
       
  1370 		LIBRARY:=fontmanager, \
       
  1371                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1372                 SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
       
  1373 		     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font,\
       
  1374 		EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
       
  1375 			       AccelGlyphCache.c,\
       
  1376 		LANG:=C++,\
       
  1377 		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
       
  1378 		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
       
  1379 		OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \
       
  1380 		CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
       
  1381 				-DCC_NOEX, \
       
  1382 		MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \
       
  1383 		LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
       
  1384 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  1385 		LDFLAGS_SUFFIX:=$(BUILD_LIBFONTMANAGER_FONTLIB),\
       
  1386 		LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc,\
       
  1387 		LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm,\
       
  1388 		LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
       
  1389 				       -ljava -ljvm,\
       
  1390 		LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
       
  1391 					$(WIN_AWT_LIB),\
       
  1392 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1393 		RC_FLAGS:=$(RC_FLAGS)\
       
  1394 			  -D "JDK_FNAME=fontmanager.dll" \
       
  1395 			  -D "JDK_INTERNAL_NAME=fontmanager" \
       
  1396 			  -D "JDK_FTYPE=0x2L",\
       
  1397 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\
       
  1398 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  1399 
       
  1400 $(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT)
       
  1401 
       
  1402 ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx))
       
  1403 $(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT)
       
  1404 endif
       
  1405 
       
  1406 BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
       
  1407 
       
  1408 ##########################################################################################
       
  1409 
       
  1410 ifndef OPENJDK
       
  1411 
       
  1412 #    ifeq ($(OPENJDK_TARGET_OS), linux)
       
  1413 #        ifeq ("$(CC_VER_MAJOR)", "3")
       
  1414 #            OTHER_LDLIBS  += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
       
  1415 #        endif
       
  1416 #    endif
       
  1417 #
       
  1418 # The resulting size of the t2k lib file is (at least on linux) dependant on the order of
       
  1419 # the input .o files. Because of this the new build will differ in size to the old build.
       
  1420     BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
       
  1421 		            -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
       
  1422 		            -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
       
  1423 		            -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
       
  1424 		            -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
       
  1425 		            -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
       
  1426 		            -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
       
  1427 		            -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
       
  1428 		            -I$(JDK_TOPDIR)/src/share/native/sun/java2d
       
  1429 
       
  1430     $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\
       
  1431                 LIBRARY:=t2k, \
       
  1432                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1433                 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \
       
  1434 		     $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
       
  1435 		     $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\
       
  1436 		EXCLUDE_FILES:=orion.c,\
       
  1437 		LANG:=C++,\
       
  1438 		OPTIMIZATION:=HIGH, \
       
  1439 		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
       
  1440 		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
       
  1441 		CFLAGS_windows=-DCC_NOEX, \
       
  1442 		CXXFLAGS_windows=-DCC_NOEX, \
       
  1443 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
       
  1444 		LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
       
  1445 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  1446 		LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\
       
  1447 		LDFLAGS_SUFFIX_posix:=$(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc,\
       
  1448 		LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt,\
       
  1449 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1450 		RC_FLAGS:=$(RC_FLAGS)\
       
  1451 			  -D "JDK_FNAME=t2k.dll" \
       
  1452 			  -D "JDK_INTERNAL_NAME=t2k" \
       
  1453 			  -D "JDK_FTYPE=0x2L",\
       
  1454 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k,\
       
  1455 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  1456 
       
  1457     # t2k is linked against fontmanager
       
  1458     $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER)
       
  1459 
       
  1460     BUILD_LIBRARIES += $(BUILD_LIBT2K)
       
  1461 endif
       
  1462 
       
  1463 ##########################################################################################
       
  1464 
       
  1465 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  1466     ifeq ($(OPENJDK_TARGET_CPU), x86)
       
  1467         KERNEL32_LIB:=kernel32.lib
       
  1468     endif
       
  1469     $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
       
  1470                 LIBRARY:=jawt, \
       
  1471                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1472                 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows,\
       
  1473 		INCLUDE_FILES:=jawt.cpp,\
       
  1474 		LANG:=C++,\
       
  1475 		OPTIMIZATION:=LOW, \
       
  1476 		CFLAGS:=$(CXXFLAGS_JDKLIB) \
       
  1477 			-EHsc -DUNICODE -D_UNICODE \
       
  1478 			-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
       
  1479 		        -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
       
  1480 		        -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
       
  1481 			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
       
  1482 			-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows, \
       
  1483 		LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \
       
  1484 			 advapi32.lib $(WIN_AWT_LIB),\
       
  1485 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
       
  1486 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1487 		RC_FLAGS:=$(RC_FLAGS)\
       
  1488 			  -D "JDK_FNAME=jawt.dll" \
       
  1489 			  -D "JDK_INTERNAL_NAME=jawt" \
       
  1490 			  -D "JDK_FTYPE=0x2L",\
       
  1491 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
       
  1492 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  1493 
       
  1494 $(BUILD_LIBJAWT) : $(BUILD_LIBAWT)
       
  1495 
       
  1496 $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
       
  1497 	$(ECHO) Copying $(@F)
       
  1498 	$(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@
       
  1499 
       
  1500 BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
       
  1501 
       
  1502 else # OPENJDK_TARGET_OS not windows
       
  1503 
       
  1504     JAWT_LIBS:=
       
  1505     ifneq ($(OPENJDK_TARGET_OS), solaris)
       
  1506         JAWT_LIBS += -lawt
       
  1507     endif
       
  1508 
       
  1509     ifndef BUILD_HEADLESS_ONLY
       
  1510         JAWT_LIBS += -lawt_xawt
       
  1511     else
       
  1512         JAWT_LIBS += -lawt_headless
       
  1513         HEADLESS_CFLAG += -DHEADLESS
       
  1514     endif
       
  1515 
       
  1516     JAWT_FILES:=jawt.c
       
  1517     ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  1518 	JAWT_FILES:=jawt.m
       
  1519 	JAWT_LIBS:=-lawt_lwawt
       
  1520     endif
       
  1521 
       
  1522     $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
       
  1523                 LIBRARY:=jawt, \
       
  1524                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1525                 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
       
  1526                      $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
       
  1527 		INCLUDE_FILES:=$(JAWT_FILES),\
       
  1528 		LANG:=C,\
       
  1529 		OPTIMIZATION:=LOW, \
       
  1530 		CFLAGS:=$(CFLAGS_JDKLIB), \
       
  1531 		CFLAGS_linux:=$(HEADLESS_CFLAG),\
       
  1532 		CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
       
  1533 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
       
  1534 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  1535 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  1536 		LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
       
  1537 		LDFLAGS_SUFFIX_linux:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\
       
  1538 		LDFLAGS_SUFFIX_solaris:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender,\
       
  1539 		LDFLAGS_SUFFIX_macosx:=-Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
       
  1540 				       -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX),\
       
  1541 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
       
  1542 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  1543 
       
  1544 ifndef BUILD_HEADLESS_ONLY
       
  1545 $(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT)
       
  1546 else
       
  1547 $(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
       
  1548 endif
       
  1549 
       
  1550 ifeq ($(OPENJDK_TARGET_OS),macosx)
       
  1551 $(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
       
  1552 endif
       
  1553 
       
  1554 endif # OPENJDK_TARGET_OS
       
  1555 
       
  1556 BUILD_LIBRARIES += $(BUILD_LIBJAWT)
       
  1557 
       
  1558 ##########################################################################################
       
  1559 
       
  1560 LIBINSTRUMENT_SRC   :=$(JDK_TOPDIR)/src/share/instrument \
       
  1561                       $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
       
  1562                       $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument
       
  1563 
       
  1564 LIBINSTRUMENT_FILES :=\
       
  1565 	EncodingSupport.c \
       
  1566 	EncodingSupport_md.c \
       
  1567 	FileSystemSupport_md.c \
       
  1568 	InstrumentationImplNativeMethods.c \
       
  1569 	InvocationAdapter.c \
       
  1570 	JarFacade.c \
       
  1571 	JPLISAgent.c \
       
  1572 	JPLISAssert.c \
       
  1573 	JavaExceptions.c \
       
  1574 	PathCharsValidator.c \
       
  1575 	Reentrancy.c \
       
  1576 	Utilities.c \
       
  1577 	canonicalize_md.c
       
  1578 
       
  1579 LIBINSTRUMENT_DIR   :=$(JDK_OUTPUTDIR)/objs/libinstrument
       
  1580 LIBINSTRUMENT_CFLAGS:=$(CFLAGS_JDKLIB) \
       
  1581                       -I$(JDK_TOPDIR)/src/share/instrument \
       
  1582                       -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \
       
  1583                       -I$(JDK_TOPDIR)/src/share/bin
       
  1584 
       
  1585 LIBINSTRUMENT_LDFLAGS:=
       
  1586 LIBINSTRUMENT_LDFLAGS_SUFFIX:=
       
  1587 
       
  1588 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  1589     LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
       
  1590 				 -export:Agent_OnAttach advapi32.lib
       
  1591     # Statically link the C runtime so that there are not dependencies on modules
       
  1592     # not on the search patch when invoked from the Windows system directory
       
  1593     # (or elsewhere).
       
  1594     LIBINSTRUMENT_CFLAGS := $(filter-out -MD,$(LIBINSTRUMENT_CFLAGS))
       
  1595     # equivalent of strcasecmp is stricmp on Windows
       
  1596     LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
       
  1597 endif
       
  1598 
       
  1599 $(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
       
  1600 		LIBRARY:=instrument, \
       
  1601                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1602 		SRC:=$(LIBINSTRUMENT_SRC),\
       
  1603 		INCLUDE_FILES:=$(LIBINSTRUMENT_FILES),\
       
  1604 		LANG:=C,\
       
  1605 		OPTIMIZATION:=LOW, \
       
  1606 		CFLAGS:=$(LIBINSTRUMENT_CFLAGS),\
       
  1607 		CFLAGS_debug:=-DJPLIS_LOGGING,\
       
  1608 		CFLAGS_release:=-DNO_JPLIS_LOGGING,\
       
  1609 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
       
  1610 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  1611 			 $(call SET_SHARED_LIBRARY_ORIGIN) \
       
  1612                          $(LIBINSTRUMENT_LDFLAGS),\
       
  1613 		LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
       
  1614 		LDFLAGS_solaris:= $(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
       
  1615 		LDFLAGS_macosx:=-Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
       
  1616 				-framework Cocoa -framework Security -framework ApplicationServices,\
       
  1617 		LDFLAGS_SUFFIX:=$(LIBINSTRUMENT_LDFLAGS_SUFFIX),\
       
  1618 		LDFLAGS_SUFFIX_macosx:=-liconv $(LIBZ),\
       
  1619 		LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc,\
       
  1620 		LDFLAGS_SUFFIX_linux:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\
       
  1621 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1622 		RC_FLAGS:=$(RC_FLAGS)\
       
  1623 			  -D "JDK_FNAME=instrument.dll" \
       
  1624 			  -D "JDK_INTERNAL_NAME=instrument" \
       
  1625 			  -D "JDK_FTYPE=0x2L",\
       
  1626 		OBJECT_DIR:=$(LIBINSTRUMENT_DIR),\
       
  1627 		DEBUG_SYMBOLS:=true))
       
  1628 
       
  1629 ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows))
       
  1630 $(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
       
  1631 else
       
  1632 $(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
       
  1633 endif
       
  1634 $(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA)
       
  1635 
       
  1636 BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
       
  1637 
       
  1638 ##########################################################################################
       
  1639 
       
  1640 BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \
       
  1641                            $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \
       
  1642                            $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management
       
  1643 
       
  1644 BUILD_LIBMANAGEMENT_EXCLUDES:=
       
  1645 
       
  1646 BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management
       
  1647 
       
  1648 ifneq ($(OPENJDK_TARGET_OS), windows)
       
  1649 	BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
       
  1650 else
       
  1651 	BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
       
  1652 endif
       
  1653 
       
  1654 ifneq ($(OPENJDK_TARGET_OS),solaris)
       
  1655 	BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
       
  1656 endif
       
  1657 
       
  1658 ifneq ($(OPENJDK_TARGET_OS),linux)
       
  1659 	BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
       
  1660 endif
       
  1661 
       
  1662 ifneq ($(OPENJDK_TARGET_OS),macosx)
       
  1663 	BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
       
  1664 endif
       
  1665 
       
  1666 LIBMANAGEMENT_OPTIMIZATION:=HIGH
       
  1667 ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
       
  1668     ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
       
  1669         LIBMANAGEMENT_OPTIMIZATION:=LOW
       
  1670     endif
       
  1671 endif
       
  1672 
       
  1673 $(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
       
  1674 		LIBRARY:=management,\
       
  1675                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1676 		SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
       
  1677 		EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
       
  1678 		LANG:=C,\
       
  1679 		OPTIMIZATION:=$(LIBMANAGEMENT_OPTIMIZATION), \
       
  1680 		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\
       
  1681 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
       
  1682 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  1683 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  1684 		LDFLAGS_solaris:=-lkstat,\
       
  1685 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
       
  1686 		LDFLAGS_SUFFIX_windows:=jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib,\
       
  1687 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1688 		RC_FLAGS:=$(RC_FLAGS)\
       
  1689 			  -D "JDK_FNAME=management.dll" \
       
  1690 			  -D "JDK_INTERNAL_NAME=management" \
       
  1691 			  -D "JDK_FTYPE=0x2L",\
       
  1692 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
       
  1693 		DEBUG_SYMBOLS:=true))
       
  1694 
       
  1695 $(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA)
       
  1696 
       
  1697 BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
       
  1698 
       
  1699 ##########################################################################################
       
  1700 
       
  1701 BUILD_LIBHPROF_SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/demo/jvmti/hprof
       
  1702 BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
       
  1703                          -I$(JDK_TOPDIR)/src/share/npt \
       
  1704                          -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
       
  1705                          -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
       
  1706 
       
  1707 BUILD_LIBHPROF_LDFLAGS:=
       
  1708 
       
  1709 LIBHPROF_OPTIMIZATION:=HIGHEST
       
  1710 ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
       
  1711     ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
       
  1712         LIBHPROF_OPTIMIZATION:=LOW
       
  1713     endif
       
  1714 endif
       
  1715 
       
  1716 $(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
       
  1717 		LIBRARY:=hprof, \
       
  1718                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1719 		SRC:=$(BUILD_LIBHPROF_SRC),\
       
  1720 		LANG:=C,\
       
  1721 		OPTIMIZATION:=$(LIBHPROF_OPTIMIZATION), \
       
  1722 		CFLAGS:=$(CFLAGS_JDKLIB) \
       
  1723                          $(BUILD_LIBHPROF_CFLAGS),\
       
  1724 		CFLAGS_debug:=-DHPROF_LOGGING,\
       
  1725 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
       
  1726 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  1727 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  1728 		LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
       
  1729 		LDFLAGS_SUFFIX_linux:=$(LIBDL),\
       
  1730 		LDFLAGS_SUFFIX_macosx:=$(LIBDL),\
       
  1731 		LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl $(LIBDL) -lc,\
       
  1732 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1733 		RC_FLAGS:=$(RC_FLAGS)\
       
  1734 			  -D "JDK_FNAME=hprof.dll" \
       
  1735 			  -D "JDK_INTERNAL_NAME=hprof" \
       
  1736 			  -D "JDK_FTYPE=0x2L",\
       
  1737 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\
       
  1738 		DEBUG_SYMBOLS:=true))
       
  1739 
       
  1740 BUILD_LIBRARIES += $(BUILD_LIBHPROF)
       
  1741 
       
  1742 ##########################################################################################
       
  1743 
       
  1744 $(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
       
  1745 		LIBRARY:=java_crw_demo, \
       
  1746                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1747 		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
       
  1748 		LANG:=C,\
       
  1749 		OPTIMIZATION:=LOW, \
       
  1750 		CFLAGS:=$(CFLAGS_JDKLIB) \
       
  1751                         -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
       
  1752 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
       
  1753 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  1754 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  1755 		LDFLAGS_SUFFIX_solaris:=-lc,\
       
  1756 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1757 		RC_FLAGS:=$(RC_FLAGS)\
       
  1758 			  -D "JDK_FNAME=java_crw_demo.dll" \
       
  1759 			  -D "JDK_INTERNAL_NAME=java_crw_demo" \
       
  1760 			  -D "JDK_FTYPE=0x2L",\
       
  1761 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
       
  1762 		DEBUG_SYMBOLS:=true))
       
  1763 
       
  1764 BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
       
  1765 
       
  1766 ##########################################################################################
       
  1767 
       
  1768 $(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
       
  1769 		LIBRARY:=npt, \
       
  1770                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1771 		SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
       
  1772 		LANG:=C,\
       
  1773 		OPTIMIZATION:=LOW, \
       
  1774 		CFLAGS:=$(CFLAGS_JDKLIB) \
       
  1775                         -I$(JDK_TOPDIR)/src/share/npt \
       
  1776                         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
       
  1777 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
       
  1778 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  1779 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  1780 		LDFLAGS_macosx:=-liconv,\
       
  1781 		LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\
       
  1782 		LDFLAGS_SUFFIX_solaris:=-lc, \
       
  1783 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1784 		RC_FLAGS:=$(RC_FLAGS)\
       
  1785 			  -D "JDK_FNAME=npt.dll" \
       
  1786 			  -D "JDK_INTERNAL_NAME=npt" \
       
  1787 			  -D "JDK_FTYPE=0x2L",\
       
  1788 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\
       
  1789 		DEBUG_SYMBOLS:=true))
       
  1790 
       
  1791 BUILD_LIBRARIES += $(BUILD_LIBNPT)
       
  1792 
       
  1793 ##########################################################################################
       
  1794 
       
  1795 LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \
       
  1796                    $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \
       
  1797                    $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \
       
  1798                    $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi
       
  1799 
       
  1800 ifeq ($(OPENJDK_TARGET_OS),windows)
       
  1801     LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm
       
  1802 else
       
  1803     LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp
       
  1804 endif
       
  1805 
       
  1806 LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
       
  1807 
       
  1808 LIBNET_EXCLUDE_FILES:=
       
  1809 ifneq ($(OPENJDK_TARGET_OS),linux)
       
  1810 	LIBNET_EXCLUDE_FILES += linux_close.c
       
  1811 endif
       
  1812 
       
  1813 ifneq ($(OPENJDK_TARGET_OS),macosx)
       
  1814 	LIBNET_EXCLUDE_FILES += bsd_close.c
       
  1815 endif
       
  1816 
       
  1817 ifeq ($(OPENJDK_TARGET_OS),windows)
       
  1818 	LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
       
  1819 else
       
  1820 	LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
       
  1821                                 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
       
  1822 				NTLMAuthSequence.c NetworkInterface_winXP.c
       
  1823 endif
       
  1824 
       
  1825 $(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
       
  1826 		LIBRARY:=net,\
       
  1827                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1828 		SRC:=$(LIBNET_SRC_DIRS),\
       
  1829 		EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \
       
  1830 		LANG:=C,\
       
  1831 		OPTIMIZATION:=LOW, \
       
  1832 		CFLAGS:=$(CFLAGS_JDKLIB) \
       
  1833                         $(LIBNET_CFLAGS),\
       
  1834 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
       
  1835 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  1836 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  1837 		LDFLAGS_SUFFIX_macosx:=-ljvm -ljava,\
       
  1838 		LDFLAGS_SUFFIX_solaris:=-ljvm -ljava -lnsl -lsocket $(LIBDL) -lc ,\
       
  1839 		LDFLAGS_SUFFIX_linux:=$(LIBDL) -ljvm -lpthread -ljava,\
       
  1840 		LDFLAGS_SUFFIX_windows:=ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \
       
  1841 					delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \
       
  1842 					-DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \
       
  1843 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1844 		RC_FLAGS:=$(RC_FLAGS)\
       
  1845 			  -D "JDK_FNAME=net.dll" \
       
  1846 			  -D "JDK_INTERNAL_NAME=net" \
       
  1847 			  -D "JDK_FTYPE=0x2L",\
       
  1848 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet,\
       
  1849 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  1850 
       
  1851 $(BUILD_LIBNET) : $(BUILD_LIBJAVA)
       
  1852 
       
  1853 BUILD_LIBRARIES += $(BUILD_LIBNET)
       
  1854 
       
  1855 $(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
       
  1856 	$(ECHO) $(LOG_INFO) Copying $(@F)
       
  1857 	$(call install-file)
       
  1858 
       
  1859 COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
       
  1860 
       
  1861 ifeq ($(OPENJDK_TARGET_OS), solaris)
       
  1862 $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template : $(JDK_TOPDIR)/src/${OPENJDK_TARGET_OS_API_DIR}/lib/sdp/sdp.conf.template
       
  1863 	$(ECHO) $(LOG_INFO) Copying $(@F)
       
  1864 	$(call install-file)
       
  1865 
       
  1866 COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
       
  1867 endif
       
  1868 
       
  1869 ##########################################################################################
       
  1870 
       
  1871 BUILD_LIBNIO_SRC:=\
       
  1872         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/nio \
       
  1873 	$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
       
  1874 	$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
       
  1875 
       
  1876 BUILD_LIBNIO_CFLAGS:=\
       
  1877 	-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
       
  1878 	-I$(JDK_TOPDIR)/src/share/native/java/io \
       
  1879 	-I$(JDK_TOPDIR)/src/share/native/java/net \
       
  1880         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net
       
  1881 
       
  1882 BUILD_LIBNIO_FILES:=\
       
  1883         DatagramChannelImpl.c \
       
  1884         DatagramDispatcher.c \
       
  1885 	FileChannelImpl.c \
       
  1886 	FileDispatcherImpl.c \
       
  1887 	FileKey.c \
       
  1888 	IOUtil.c \
       
  1889         MappedByteBuffer.c \
       
  1890 	Net.c \
       
  1891 	ServerSocketChannelImpl.c \
       
  1892 	SocketChannelImpl.c \
       
  1893 	SocketDispatcher.c
       
  1894 
       
  1895 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  1896 	BUILD_LIBNIO_FILES += \
       
  1897 		Iocp.c \
       
  1898 		RegistryFileTypeDetector.c \
       
  1899 		WindowsAsynchronousFileChannelImpl.c \
       
  1900 		WindowsAsynchronousServerSocketChannelImpl.c \
       
  1901 		WindowsAsynchronousSocketChannelImpl.c \
       
  1902 		WindowsNativeDispatcher.c \
       
  1903 	        WindowsSelectorImpl.c
       
  1904 endif
       
  1905 
       
  1906 ifeq ($(OPENJDK_TARGET_OS), linux)
       
  1907 	BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
       
  1908 	BUILD_LIBNIO_FILES += \
       
  1909 		EPoll.c \
       
  1910 		EPollArrayWrapper.c \
       
  1911 		EPollPort.c \
       
  1912 		InheritedChannel.c \
       
  1913 		NativeThread.c \
       
  1914 		PollArrayWrapper.c \
       
  1915 		UnixAsynchronousServerSocketChannelImpl.c \
       
  1916 		UnixAsynchronousSocketChannelImpl.c \
       
  1917 		GnomeFileTypeDetector.c \
       
  1918 		MagicFileTypeDetector.c \
       
  1919 		LinuxNativeDispatcher.c \
       
  1920 		LinuxWatchService.c \
       
  1921 		UnixCopyFile.c \
       
  1922 		UnixNativeDispatcher.c
       
  1923 endif
       
  1924 
       
  1925 ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  1926 	BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
       
  1927 	BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
       
  1928 	BUILD_LIBNIO_FILES += \
       
  1929 		InheritedChannel.c \
       
  1930 		NativeThread.c \
       
  1931 	        PollArrayWrapper.c \
       
  1932 		UnixAsynchronousServerSocketChannelImpl.c \
       
  1933 		UnixAsynchronousSocketChannelImpl.c \
       
  1934 		BsdNativeDispatcher.c \
       
  1935 		MacOSXNativeDispatcher.c \
       
  1936 		UnixCopyFile.c \
       
  1937 		UnixNativeDispatcher.c \
       
  1938 		KQueue.c \
       
  1939 		KQueuePort.c \
       
  1940 		KQueueArrayWrapper.c
       
  1941 endif
       
  1942 
       
  1943 ifeq ($(OPENJDK_TARGET_OS), solaris)
       
  1944 	BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
       
  1945 	BUILD_LIBNIO_FILES += \
       
  1946 		DevPollArrayWrapper.c \
       
  1947 		InheritedChannel.c \
       
  1948 		NativeThread.c \
       
  1949 		PollArrayWrapper.c \
       
  1950 		SolarisEventPort.c \
       
  1951 		UnixAsynchronousServerSocketChannelImpl.c \
       
  1952 		UnixAsynchronousSocketChannelImpl.c \
       
  1953 		GnomeFileTypeDetector.c \
       
  1954 		SolarisNativeDispatcher.c \
       
  1955 		SolarisWatchService.c \
       
  1956 		UnixCopyFile.c \
       
  1957 		UnixNativeDispatcher.c
       
  1958 endif
       
  1959 
       
  1960 $(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
       
  1961 		LIBRARY:=nio,\
       
  1962                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  1963 		SRC:=$(BUILD_LIBNIO_SRC),\
       
  1964 		INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \
       
  1965 		LANG:=C,\
       
  1966 		OPTIMIZATION:=HIGH, \
       
  1967 		CFLAGS:=$(CFLAGS_JDKLIB) \
       
  1968                         $(BUILD_LIBNIO_CFLAGS),\
       
  1969 		MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \
       
  1970 		LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
       
  1971 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  1972 		LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\
       
  1973 		LDFLAGS_SUFFIX_solaris:=-ljvm -lsocket -lposix4 $(LIBDL) \
       
  1974 				        -lsendfile -ljava -lnet -lc,\
       
  1975 		LDFLAGS_SUFFIX_windows:=jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
       
  1976 					$(JDK_OUTPUTDIR)/objs/libnet/net.lib \
       
  1977 					advapi32.lib,\
       
  1978 		LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread -framework CoreFoundation,\
       
  1979 		LDFLAGS_SUFFIX:=,\
       
  1980 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  1981 		RC_FLAGS:=$(RC_FLAGS)\
       
  1982 			  -D "JDK_FNAME=nio.dll" \
       
  1983 			  -D "JDK_INTERNAL_NAME=nio" \
       
  1984 			  -D "JDK_FTYPE=0x2L",\
       
  1985 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio,\
       
  1986 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  1987 
       
  1988 BUILD_LIBRARIES += $(BUILD_LIBNIO)
       
  1989 
       
  1990 $(BUILD_LIBNIO) : $(BUILD_LIBNET)
       
  1991 
       
  1992 ##########################################################################################
       
  1993 
       
  1994 ifeq ($(OPENJDK_TARGET_OS_API),posix)
       
  1995 
       
  1996   ifneq ($(OPENJDK_TARGET_OS),macosx)
       
  1997 
       
  1998     SCTP_WERROR := -Werror
       
  1999     ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
       
  2000       SCTP_WERROR :=
       
  2001     endif
       
  2002 
       
  2003     $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
       
  2004                 LIBRARY:=sctp,\
       
  2005                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  2006                 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp,\
       
  2007 		LANG:=C,\
       
  2008 		OPTIMIZATION:=LOW, \
       
  2009 		CFLAGS:=$(CFLAGS_JDKLIB)\
       
  2010 			-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
       
  2011 			-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
       
  2012 			-I$(JDK_TOPDIR)/src/share/native/java/net \
       
  2013 			-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
       
  2014 			-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net,\
       
  2015 		CFLAGS_linux:=$(SCTP_WERROR),\
       
  2016 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
       
  2017 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  2018 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  2019 		LDFLAGS_SUFFIX_linux:=-lpthread $(LIBDL) -ljava -ljvm,\
       
  2020 		LDFLAGS_SUFFIX_posix:=-lnio -lnet,\
       
  2021 		LDFLAGS_SUFFIX_solaris:=-lsocket -ljava -ljvm -lc,\
       
  2022 		LDFLAGS_SUFFIX_macosx:=-ljava -ljvm,\
       
  2023 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp,\
       
  2024 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  2025 
       
  2026     BUILD_LIBRARIES += $(BUILD_LIBSCTP)
       
  2027 
       
  2028     $(BUILD_LIBSCTP) : $(BUILD_LIBNIO)
       
  2029   endif
       
  2030 endif
       
  2031 
       
  2032 ##########################################################################################
       
  2033 
       
  2034 BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin
       
  2035 LIBJLI_CFLAGS:=$(CFLAGS_JDKLIB) $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
       
  2036 
       
  2037 BUILD_LIBJLI_FILES:=\
       
  2038 	java.c \
       
  2039 	splashscreen_stubs.c \
       
  2040 	parse_manifest.c \
       
  2041 	version_comp.c \
       
  2042 	wildcard.c \
       
  2043 	jli_util.c
       
  2044 
       
  2045 ifeq ($(JVM_VARIANT_ZERO), true)
       
  2046 	ERGO_FAMILY:=zero
       
  2047 else
       
  2048 	ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
       
  2049 		ERGO_FAMILY:=i586
       
  2050 	else
       
  2051 		ERGO_FAMILY:=$(OPENJDK_TARGET_CPU_ARCH)
       
  2052 	endif
       
  2053 endif
       
  2054 
       
  2055 ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  2056 	LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
       
  2057 	BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
       
  2058 	BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
       
  2059 
       
  2060 	BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c
       
  2061 	BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c
       
  2062 endif
       
  2063 
       
  2064 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  2065 	BUILD_LIBJLI_FILES += java_md.c \
       
  2066 			      cmdtoargs.c
       
  2067         # Staticically link with c runtime on windows.
       
  2068 	LIBJLI_CFLAGS:=$(filter-out -MD,$(LIBJLI_CFLAGS))
       
  2069 else ifneq ($(OPENJDK_TARGET_OS), macosx)
       
  2070 
       
  2071 	BUILD_LIBJLI_FILES += java_md_common.c
       
  2072 	BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c
       
  2073 
       
  2074 	ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
       
  2075 
       
  2076         # if the architecture specific ergo file exists then
       
  2077         # use it, else use the generic definitions from ergo.c
       
  2078 	ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)),)
       
  2079 		BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
       
  2080 	else # !ERGO_ARCH_FILE
       
  2081 		LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
       
  2082 	endif # ERGO_ARCH_FILE
       
  2083 endif #WINDOWS
       
  2084 
       
  2085 # Append defines depending on target platform
       
  2086 LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS)
       
  2087 
       
  2088 ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  2089 	LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
       
  2090 endif
       
  2091 
       
  2092 ifneq ($(USE_EXTERNAL_LIBZ),true)
       
  2093 	BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
       
  2094 	LIBJLI_CFLAGS += $(ZLIB_CPPFLAGS)
       
  2095 	BUILD_LIBJLI_FILES += \
       
  2096 		inflate.c \
       
  2097 		inftrees.c \
       
  2098 		inffast.c \
       
  2099 		zadler32.c \
       
  2100 		zcrc32.c \
       
  2101 		zutil.c
       
  2102 endif
       
  2103 
       
  2104 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  2105     LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)
       
  2106 else
       
  2107     LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli
       
  2108 endif
       
  2109 
       
  2110 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
       
  2111 		LIBRARY:=jli,\
       
  2112                 OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\
       
  2113 		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
       
  2114 		INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
       
  2115 		LANG:=C,\
       
  2116 		OPTIMIZATION:=HIGH, \
       
  2117 		CFLAGS:=$(LIBJLI_CFLAGS),\
       
  2118 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
       
  2119 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  2120 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  2121 		LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
       
  2122 		LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
       
  2123 		LDFLAGS_macosx:=-framework Cocoa -framework Security -framework ApplicationServices,\
       
  2124 		LDFLAGS_SUFFIX_solaris:=$(LIBZ) $(LIBDL) -lc,\
       
  2125 		LDFLAGS_SUFFIX_linux:=$(LIBZ) $(LIBDL) -lc -lpthread,\
       
  2126 		LDFLAGS_SUFFIX_macosx:=$(LIBZ),\
       
  2127 		LDFLAGS_SUFFIX_windows:=\
       
  2128 			-export:JLI_Launch \
       
  2129 			-export:JLI_ManifestIterate \
       
  2130 			-export:JLI_SetTraceLauncher \
       
  2131 			-export:JLI_ReportErrorMessage \
       
  2132 			-export:JLI_ReportErrorMessageSys \
       
  2133 			-export:JLI_ReportMessage \
       
  2134 			-export:JLI_ReportExceptionDescription \
       
  2135 			-export:JLI_MemAlloc \
       
  2136 			-export:JLI_CmdToArgs \
       
  2137 			-export:JLI_GetStdArgc \
       
  2138 			-export:JLI_GetStdArgs \
       
  2139 			advapi32.lib \
       
  2140 			comctl32.lib \
       
  2141 			user32.lib,\
       
  2142 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  2143 		RC_FLAGS:=$(RC_FLAGS) \
       
  2144 			  -D "JDK_FNAME=jli.dll" \
       
  2145 			  -D "JDK_INTERNAL_NAME=jli" \
       
  2146 			  -D "JDK_FTYPE=0x2L",\
       
  2147 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli,\
       
  2148 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  2149 
       
  2150 BUILD_LIBRARIES += $(BUILD_LIBJLI)
       
  2151 
       
  2152 # On windows, the static library has the same suffix as the import library created by
       
  2153 # with the shared library, so the static library is given a different name. No harm
       
  2154 # in doing it for all platform to reduce complexity.
       
  2155 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  2156     $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
       
  2157 		STATIC_LIBRARY:=jli_static,\
       
  2158                 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
       
  2159 		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
       
  2160 		INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
       
  2161 		LANG:=C,\
       
  2162 		OPTIMIZATION:=HIGH, \
       
  2163 		CFLAGS:=$(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS),\
       
  2164 		ARFLAGS:=$(ARFLAGS),\
       
  2165 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
       
  2166 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  2167 
       
  2168 BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
       
  2169 
       
  2170 else ifeq ($(OPENJDK_TARGET_OS),macosx)
       
  2171     #
       
  2172     # On macosx they do partial (incremental) linking of libjli_static.a
       
  2173     #   code it here...rather than add support to NativeCompilation
       
  2174     #   as this is first time I see it
       
  2175     $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
       
  2176 		LIBRARY:=jli_static, \
       
  2177                 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
       
  2178 		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
       
  2179 		INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
       
  2180 		LANG:=C,\
       
  2181 		OPTIMIZATION:=HIGH, \
       
  2182 		CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS),\
       
  2183 		LDFLAGS:=-nostdlib -r,\
       
  2184 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
       
  2185 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  2186 
       
  2187 $(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC)
       
  2188 	$(call install-file)
       
  2189 
       
  2190 BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
       
  2191 endif
       
  2192 
       
  2193 ##########################################################################################
       
  2194 
       
  2195 ifndef OPENJDK
       
  2196 ifeq ($(ENABLE_JFR), true)
       
  2197 
       
  2198 $(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
       
  2199 		LIBRARY:=jfr,\
       
  2200                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  2201 		SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
       
  2202 		LANG:=C,\
       
  2203 		OPTIMIZATION:=LOW, \
       
  2204 		CFLAGS:=$(CFLAGS_JDKLIB) \
       
  2205                         -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
       
  2206 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
       
  2207 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  2208 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  2209 		LDFLAGS_SUFFIX_solaris:=-lc,\
       
  2210 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  2211 		RC_FLAGS:=$(RC_FLAGS)\
       
  2212 			  -D "JDK_FNAME=jfr.dll" \
       
  2213 			  -D "JDK_INTERNAL_NAME=jfr" \
       
  2214 			  -D "JDK_FTYPE=0x2L",\
       
  2215 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr,\
       
  2216 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  2217 
       
  2218 BUILD_LIBRARIES += $(BUILD_LIBJFR)
       
  2219 
       
  2220 endif
       
  2221 endif
       
  2222 
       
  2223 ##########################################################################################
       
  2224 
       
  2225 ifndef OPENJDK
       
  2226 
       
  2227 BUILD_LIBKCMS_EXCLUDE_FILES:=
       
  2228 ifeq ($(OPENJDK_TARGET_OS),windows)
       
  2229 	BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
       
  2230 else
       
  2231 	BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
       
  2232 endif
       
  2233 
       
  2234 BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB)
       
  2235 
       
  2236 ifeq ($(OPENJDK_TARGET_OS),solaris)
       
  2237      # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
       
  2238      #   implement it like this...since it's only used here
       
  2239      BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS))
       
  2240 else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
       
  2241      BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS))
       
  2242 endif
       
  2243 
       
  2244 $(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
       
  2245 		LIBRARY:=kcms,\
       
  2246                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  2247 		SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
       
  2248 		LANG:=C,\
       
  2249 		EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\
       
  2250 		OPTIMIZATION:=LOW, \
       
  2251 		CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \
       
  2252                         -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
       
  2253 		CFLAGS_linux:=-Wno-missing-field-initializers,\
       
  2254 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
       
  2255 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  2256 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  2257 		LDFLAGS_SUFFIX_linux:=-lc -lpthread,\
       
  2258 		LDFLAGS_SUFFIX_solaris:=-lc,\
       
  2259 		LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
       
  2260 		LDFLAGS_SUFFIX_posix:=-lm -ljava -ljvm,\
       
  2261 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
       
  2262 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
       
  2263 		RC_FLAGS:=$(RC_FLAGS)\
       
  2264 			  -D "JDK_FNAME=kcms.dll" \
       
  2265 			  -D "JDK_INTERNAL_NAME=kcms" \
       
  2266 			  -D "JDK_FTYPE=0x2L",\
       
  2267 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms,\
       
  2268 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  2269 
       
  2270 $(BUILD_LIBKCMS) : $(BUILD_LIBJAVA)
       
  2271 
       
  2272 BUILD_LIBRARIES += $(BUILD_LIBKCMS)
       
  2273 
       
  2274 endif
       
  2275 
       
  2276 ##########################################################################################
       
  2277 
       
  2278 ifndef OPENJDK
       
  2279 ifeq ($(OPENJDK_TARGET_OS), solaris)
       
  2280 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
       
  2281 
       
  2282 ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
       
  2283 
       
  2284 SUNWJDGA_MAPFILE:=
       
  2285 ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
       
  2286 	SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
       
  2287 endif
       
  2288 
       
  2289 $(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
       
  2290 		LIBRARY:=sunwjdga,\
       
  2291                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  2292 		SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
       
  2293 		LANG:=C, \
       
  2294 		OPTIMIZATION:=LOW, \
       
  2295 		CFLAGS:=$(CFLAGS_JDKLIB) \
       
  2296 			-I$(JDK_TOPDIR)/src/share/javavm/export \
       
  2297 			-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \
       
  2298 			-I$(OPENWIN_HOME)/include, \
       
  2299 		MAPFILE:=$(SUNWJDGA_MAPFILE), \
       
  2300 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  2301 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  2302 		LDFLAGS_SUFFIX:=-L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -ldga -lX11 $(LIBDL) -lc, \
       
  2303 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga,\
       
  2304 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  2305 
       
  2306 BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
       
  2307 
       
  2308 endif
       
  2309 endif
       
  2310 endif
       
  2311 endif
       
  2312 
       
  2313 ##########################################################################################
       
  2314 
       
  2315 ifeq ($(BUILD_HEADLESS), true)
       
  2316 ifneq ($(OPENJDK_TARGET_OS), windows)
       
  2317 
       
  2318 LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \
       
  2319                         $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
       
  2320 			$(JDK_TOPDIR)/src/solaris/native/sun/font \
       
  2321 			$(JDK_TOPDIR)/src/solaris/native/sun/awt \
       
  2322 			$(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
       
  2323 			$(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
       
  2324 
       
  2325 ifeq ($(OPENJDK_TARGET_OS),macosx)
       
  2326 	LIBAWT_HEADLESS_DIRS+=$(JDK_TOPDIR)/src/macosx/native/sun/font
       
  2327 endif
       
  2328 
       
  2329 LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \
       
  2330                           -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
       
  2331 			  $(CUPS_CFLAGS) \
       
  2332 			  $(X_CFLAGS) \
       
  2333 			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
       
  2334 			  -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
       
  2335 			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
       
  2336 			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
       
  2337 			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
       
  2338 			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
       
  2339 			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
       
  2340 			  -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \
       
  2341                           $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
       
  2342 
       
  2343 ifeq ($(OPENJDK_TARGET_OS),macosx)
       
  2344 	LIBAWT_HEADLESS_CFLAGS+=\
       
  2345 		-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
       
  2346 		-F/System/Library/Frameworks/ApplicationServices.framework/Frameworks
       
  2347 endif
       
  2348 
       
  2349 LIBAWT_HEADLESS_FILES:=\
       
  2350 	awt_Font.c \
       
  2351 	HeadlessToolkit.c \
       
  2352 	fontpath.c \
       
  2353 	VDrawingArea.c \
       
  2354 	X11Color.c \
       
  2355 	X11Renderer.c \
       
  2356 	X11PMBlitLoops.c \
       
  2357 	X11SurfaceData.c \
       
  2358 	X11FontScaler_md.c \
       
  2359 	X11TextRenderer_md.c \
       
  2360         OGLBlitLoops.c \
   836         OGLBlitLoops.c \
  2361         OGLBufImgOps.c \
   837         OGLBufImgOps.c \
  2362         OGLContext.c \
   838         OGLContext.c \
  2363         OGLFuncs.c \
   839         OGLFuncs.c \
  2364         OGLMaskBlit.c \
   840         OGLMaskBlit.c \
  2370         OGLTextRenderer.c \
   846         OGLTextRenderer.c \
  2371         OGLVertexCache.c \
   847         OGLVertexCache.c \
  2372         GLXGraphicsConfig.c \
   848         GLXGraphicsConfig.c \
  2373         GLXSurfaceData.c \
   849         GLXSurfaceData.c \
  2374         AccelGlyphCache.c \
   850         AccelGlyphCache.c \
  2375 	CUPSfuncs.c
   851         awt_Font.c \
  2376 
   852         multi_font.c \
  2377 ifeq ($(OPENJDK_TARGET_OS),macosx)
   853         awt_AWTEvent.c \
  2378 	LIBAWT_HEADLESS_FILES+=\
   854         awt_DrawingSurface.c \
  2379 		AWTFont.m \
   855         jawt.c \
  2380 		AWTStrike.m \
   856         CUPSfuncs.c \
  2381 		CCharToGlyphMapper.m \
   857         debug_assert.c \
  2382 		CGGlyphImages.m \
   858         debug_mem.c \
  2383 		CGGlyphOutlines.m \
   859         debug_trace.c \
  2384 		CoreTextSupport.m
   860         debug_util.c \
  2385 endif
   861         awt_Plugin.c \
  2386 
   862         gnome_interface.c \
  2387 LIBAWT_HEADLESS_REORDER:=
   863         gtk2_interface.c \
       
   864         swing_GTKEngine.c \
       
   865         swing_GTKStyle.c \
       
   866         rect.c \
       
   867         sun_awt_X11_GtkFileDialogPeer.c \
       
   868         XRSurfaceData.c \
       
   869         XRBackendNative.c
       
   870 
       
   871     LIBAWT_XAWT_LDFLAGS_SUFFIX := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
       
   872 
       
   873     ifeq ($(OPENJDK_TARGET_OS), linux)
       
   874       # To match old build, add this to LDFLAGS instead of suffix.
       
   875       LIBAWT_XAWT_LDFLAGS += -lpthread
       
   876     endif
       
   877 
       
   878     ifeq ($(OPENJDK_TARGET_OS), macosx)
       
   879       LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
       
   880     endif
       
   881 
       
   882     # On macosx, the shared library origin is set twice for this lib.
       
   883     $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT, \
       
   884         LIBRARY := awt_xawt, \
       
   885         OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
   886         SRC := $(LIBAWT_XAWT_DIRS), \
       
   887         INCLUDE_FILES := $(LIBAWT_XAWT_FILES), \
       
   888         LANG := C, \
       
   889         OPTIMIZATION := LOW, \
       
   890         CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
       
   891             $(X_CFLAGS), \
       
   892         MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \
       
   893         LDFLAGS := $(LDFLAGS_JDKLIB) \
       
   894             $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS), \
       
   895         LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN) \
       
   896             $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
       
   897         LDFLAGS_solaris := -L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
       
   898             -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
       
   899             -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
       
   900             -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
       
   901             -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
       
   902             $(call SET_SHARED_LIBRARY_ORIGIN) \
       
   903             $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
       
   904         LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN) \
       
   905             $(call SET_SHARED_LIBRARY_ORIGIN). \
       
   906             $(call SET_SHARED_LIBRARY_ORIGIN) \
       
   907             $(call SET_SHARED_LIBRARY_ORIGIN)., \
       
   908         LDFLAGS_SUFFIX := $(LIBAWT_XAWT_LDFLAGS_SUFFIX), \
       
   909         VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
   910         RC_FLAGS := $(RC_FLAGS) \
       
   911             -D "JDK_FNAME=xawt.dll" \
       
   912             -D "JDK_INTERNAL_NAME=xawt" \
       
   913             -D "JDK_FTYPE=0x2L", \
       
   914         OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_xawt, \
       
   915         DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
   916 
       
   917     $(BUILD_LIBAWT_XAWT): $(BUILD_LIBJAVA)
       
   918 
       
   919     $(BUILD_LIBAWT_XAWT): $(BUILD_LIBAWT)
       
   920 
       
   921     BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT)
       
   922 
       
   923   endif
       
   924 endif
       
   925 
       
   926 ##########################################################################################
       
   927 
       
   928 BUILD_LIBZIP_EXCLUDES :=
       
   929 ifeq ($(USE_EXTERNAL_LIBZ), true)
       
   930   LIBZ := -lz
       
   931   LIBZIP_EXCLUDES += zlib-1.2.5
       
   932 else
       
   933   ZLIB_CPPFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
       
   934 endif
       
   935 
       
   936 BUILD_LIBZIP_REORDER :=
  2388 ifeq ($(OPENJDK_TARGET_OS), solaris)
   937 ifeq ($(OPENJDK_TARGET_OS), solaris)
  2389 	ifneq ($(OPENJDK_TARGET_CPU), x86_64)
   938   ifneq ($(OPENJDK_TARGET_CPU), x86_64)
  2390 		LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
   939     BUILD_LIBZIP_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(OPENJDK_TARGET_CPU)
  2391 	endif
   940   endif
  2392 endif
   941 endif
  2393 
   942 
  2394 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
   943 ifeq ($(LIBZIP_CAN_USE_MMAP), true)
  2395 		LIBRARY:=awt_headless,\
   944   BUILD_LIBZIP_MMAP := -DUSE_MMAP
  2396                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
   945 endif
  2397 		SRC:=$(LIBAWT_HEADLESS_DIRS),\
   946 
  2398 		INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\
   947 $(eval $(call SetupNativeCompilation,BUILD_LIBZIP, \
  2399 		LANG:=C,\
   948     LIBRARY := zip, \
  2400 		OPTIMIZATION:=LOW, \
   949     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
  2401 		CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\
   950     LANG := C, \
  2402 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers,\
   951     OPTIMIZATION := LOW, \
  2403 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
   952     SRC := $(JDK_TOPDIR)/src/share/native/java/util/zip, \
  2404 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
   953     EXCLUDES := $(LIBZIP_EXCLUDES), \
  2405 		LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
   954     CFLAGS := $(CFLAGS_JDKLIB) \
  2406 		LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \
   955         $(ZLIB_CPPFLAGS) \
  2407 				 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
   956         -I$(JDK_TOPDIR)/src/share/native/java/io \
  2408 				 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
   957         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io, \
  2409 		LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\
   958     CFLAGS_posix := $(BUILD_LIBZIP_MMAP) -UDEBUG, \
  2410 		REORDER:=$(LIBAWT_HEADLESS_REORDER), \
   959     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
  2411 		LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\
   960     REORDER := $(BUILD_LIBZIP_REORDER), \
  2412 		LDFLAGS_SUFFIX_solaris:=$(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc,\
   961     LDFLAGS := $(LDFLAGS_JDKLIB) \
  2413 		LDFLAGS_SUFFIX_macosx:=-ljvm $(LIBCXX) -lawt $(LIBDL) -ljava \
   962         $(call SET_SHARED_LIBRARY_ORIGIN) \
  2414 				 -framework Accelerate \
   963         $(EXPORT_ZIP_FUNCS), \
  2415 				 -framework ApplicationServices \
   964     LDFLAGS_windows := -export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
  2416 				 -framework Cocoa \
   965         -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
  2417 				 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
   966         $(WIN_JAVA_LIB), \
  2418 				 -framework JavaNativeFoundation \
   967     LDFLAGS_SUFFIX_linux := -ljvm -ljava $(LIBZ), \
  2419 				 -framework JavaRuntimeSupport,\
   968     LDFLAGS_SUFFIX_solaris := -ljvm -ljava $(LIBZ) -lc, \
  2420 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless,\
   969     LDFLAGS_SUFFIX_macosx := $(LIBZ) -ljava -ljvm, \
  2421 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
   970     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
  2422 
   971     RC_FLAGS := $(RC_FLAGS) \
  2423 $(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT)
   972         -D "JDK_FNAME=zip.dll" \
  2424 
   973         -D "JDK_INTERNAL_NAME=zip" \
  2425 BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
   974         -D "JDK_FTYPE=0x2L", \
  2426 
   975     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libzip, \
  2427 endif
   976     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
  2428 endif
   977 
  2429 
   978 
  2430 ##########################################################################################
   979 $(BUILD_LIBZIP): $(BUILD_LIBJAVA)
  2431 
   980 
  2432 ifndef BUILD_HEADLESS_ONLY
   981 BUILD_LIBRARIES += $(BUILD_LIBZIP)
  2433 LIBSPLASHSCREEN_DIRS:=\
   982 
  2434 	$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
   983 ##########################################################################################
  2435 	$(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
   984 
  2436 	$(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
   985 $(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK, \
  2437 
   986     LIBRARY := unpack, \
  2438 ifeq ($(USE_EXTERNAL_LIBGIF),true)
   987     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
  2439     GIFLIB_LDFLAGS := -lgif
   988     SRC := $(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack, \
       
   989     EXCLUDE_FILES := main.cpp, \
       
   990     LANG := C++, \
       
   991     OPTIMIZATION := LOW, \
       
   992     CFLAGS := $(CXXFLAGS_JDKLIB) \
       
   993         -DNO_ZLIB -DUNPACK_JNI -DFULL, \
       
   994     CFLAGS_release := -DPRODUCT, \
       
   995     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
       
   996     LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
       
   997         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
   998     LDFLAGS_windows := -map:$(JDK_OUTPUTDIR)/objs/unpack.map -debug \
       
   999         jvm.lib $(WIN_JAVA_LIB), \
       
  1000     LDFLAGS_SUFFIX_posix := -ljvm $(LIBCXX) -ljava -lc, \
       
  1001     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libunpack, \
       
  1002     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1003     RC_FLAGS := $(RC_FLAGS) \
       
  1004         -D "JDK_FNAME=unpack.dll" \
       
  1005         -D "JDK_INTERNAL_NAME=unpack" \
       
  1006         -D "JDK_FTYPE=0x2L", \
       
  1007     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  1008 
       
  1009 $(BUILD_LIBUNPACK): $(BUILD_LIBJAVA)
       
  1010 
       
  1011 BUILD_LIBRARIES += $(BUILD_LIBUNPACK)
       
  1012 
       
  1013 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  1014   $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK)
       
  1015 	$(ECHO) Copying $(@F)
       
  1016 	$(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX), %.map, $<) $@
       
  1017 
       
  1018   $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
       
  1019 	$(ECHO) Copying $(@F)
       
  1020 	$(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX), %.pdb, $<) $@
       
  1021 endif
       
  1022 
       
  1023 ##########################################################################################
       
  1024 
       
  1025 LIBATTACH_EXCLUDE_FILES :=
       
  1026 ifneq ($(OPENJDK_TARGET_OS), solaris)
       
  1027   LIBATTACH_EXCLUDE_FILES += SolarisVirtualMachine.c
       
  1028 endif
       
  1029 ifneq ($(OPENJDK_TARGET_OS), linux)
       
  1030   LIBATTACH_EXCLUDE_FILES += LinuxVirtualMachine.c
       
  1031 endif
       
  1032 ifneq ($(OPENJDK_TARGET_OS), macosx)
       
  1033   LIBATTACH_EXCLUDE_FILES += BsdVirtualMachine.c
       
  1034 endif
       
  1035 
       
  1036 $(eval $(call SetupNativeCompilation,BUILD_LIBATTACH, \
       
  1037     LIBRARY := attach, \
       
  1038     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1039     SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach, \
       
  1040     EXCLUDE_FILES := $(LIBATTACH_EXCLUDE_FILES), \
       
  1041     LANG := C, \
       
  1042     OPTIMIZATION := LOW, \
       
  1043     CFLAGS := $(CFLAGS_JDKLIB), \
       
  1044     CFLAGS_windows := /Gy, \
       
  1045     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
       
  1046     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1047     RC_FLAGS := $(RC_FLAGS) \
       
  1048         -D "JDK_FNAME=attach.dll" \
       
  1049         -D "JDK_INTERNAL_NAME=attach" \
       
  1050         -D "JDK_FTYPE=0x2L", \
       
  1051     LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  1052         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1053     LDFLAGS_solaris := -ldoor, \
       
  1054     LDFLAGS_windows := /ORDER:@$(JDK_TOPDIR)/makefiles/mapfiles/libattach/reorder-windows-$(OPENJDK_TARGET_CPU), \
       
  1055     LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
       
  1056     LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib psapi.lib, \
       
  1057     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libattach, \
       
  1058     DEBUG_SYMBOLS := true))
       
  1059 
       
  1060 $(BUILD_LIBATTACH): $(BUILD_LIBJAVA)
       
  1061 
       
  1062 BUILD_LIBRARIES += $(BUILD_LIBATTACH)
       
  1063 
       
  1064 ##########################################################################################
       
  1065 
       
  1066 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET, \
       
  1067     LIBRARY := dt_socket, \
       
  1068     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1069     SRC := $(JDK_TOPDIR)/src/share/transport/socket \
       
  1070         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket, \
       
  1071     LANG := C, \
       
  1072     OPTIMIZATION := LOW, \
       
  1073     CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP \
       
  1074         -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
       
  1075         -I$(JDK_TOPDIR)/src/share/transport/socket \
       
  1076         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \
       
  1077         -I$(JDK_TOPDIR)/src/share/back/export \
       
  1078         -I$(JDK_TOPDIR)/src/share/back, \
       
  1079     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
       
  1080     LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  1081         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1082     LDFLAGS_SUFFIX_linux := -lpthread, \
       
  1083     LDFLAGS_SUFFIX_solaris := -lnsl -lsocket -lc, \
       
  1084     LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib, \
       
  1085     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1086     RC_FLAGS := $(RC_FLAGS) \
       
  1087         -D "JDK_FNAME=dt_socket.dll" \
       
  1088         -D "JDK_INTERNAL_NAME=dt_socket" \
       
  1089         -D "JDK_FTYPE=0x2L", \
       
  1090     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libdt_socket, \
       
  1091     DEBUG_SYMBOLS := true))
       
  1092 
       
  1093 $(BUILD_LIBDT_SOCKET): $(BUILD_LIBJAVA)
       
  1094 
       
  1095 BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
       
  1096 
       
  1097 ##########################################################################################
       
  1098 
       
  1099 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  1100 
       
  1101   $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM, \
       
  1102       LIBRARY := dt_shmem, \
       
  1103       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1104       SRC := $(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
       
  1105           $(JDK_TOPDIR)/src/share/transport/shmem \
       
  1106           $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem, \
       
  1107       LANG := C, \
       
  1108       OPTIMIZATION := LOW, \
       
  1109       CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP \
       
  1110           -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
       
  1111           -I$(JDK_TOPDIR)/src/share/transport/shmem \
       
  1112           -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \
       
  1113           -I$(JDK_TOPDIR)/src/share/back/export, \
       
  1114       LDFLAGS := $(LDFLAGS_JDKLIB), \
       
  1115       LDFLAGS_windows := -export:jdwpTransport_OnLoad, \
       
  1116       LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
       
  1117       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1118       RC_FLAGS := $(RC_FLAGS) \
       
  1119           -D "JDK_FNAME=dt_shmem.dll" \
       
  1120           -D "JDK_INTERNAL_NAME=dt_shmem" \
       
  1121           -D "JDK_FTYPE=0x2L", \
       
  1122       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libdt_shmem, \
       
  1123       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  1124 
       
  1125   BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
       
  1126 
       
  1127 endif # OPENJDK_TARGET_OS
       
  1128 
       
  1129 ##########################################################################################
       
  1130 # JDWP_LOGGING causes log messages to be compiled into the library.
       
  1131 $(eval $(call SetupNativeCompilation,BUILD_LIBJDWP, \
       
  1132     LIBRARY := jdwp, \
       
  1133     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1134     SRC := $(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back, \
       
  1135     LANG := C, \
       
  1136     OPTIMIZATION := LOW, \
       
  1137     CFLAGS := $(CFLAGS_JDKLIB) -DJDWP_LOGGING \
       
  1138         -I$(JDK_TOPDIR)/src/share/transport/export \
       
  1139         -I$(JDK_TOPDIR)/src/share/back/export \
       
  1140         -I$(JDK_TOPDIR)/src/share/npt \
       
  1141         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
       
  1142         -I$(JDK_TOPDIR)/src/share/back \
       
  1143         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \
       
  1144         -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers, \
       
  1145     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
       
  1146     LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  1147         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1148     LDFLAGS_SUFFIX_linux := $(LIBDL), \
       
  1149     LDFLAGS_SUFFIX_solaris := $(LIBDL) -lc, \
       
  1150     LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX), \
       
  1151     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1152     RC_FLAGS := $(RC_FLAGS) \
       
  1153         -D "JDK_FNAME=jdwp.dll" \
       
  1154         -D "JDK_INTERNAL_NAME=jdwp" \
       
  1155         -D "JDK_FTYPE=0x2L", \
       
  1156     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjdwp, \
       
  1157     DEBUG_SYMBOLS := true))
       
  1158 
       
  1159 $(BUILD_LIBJDWP): $(BUILD_LIBJAVA)
       
  1160 
       
  1161 BUILD_LIBRARIES += $(BUILD_LIBJDWP)
       
  1162 
       
  1163 ##########################################################################################
       
  1164 
       
  1165 LIBJAAS_MAPFILE :=
       
  1166 ifneq ($(OPENJDK_TARGET_OS), solaris)
       
  1167   LIBJAAS_EXCLUDE_FILES := Solaris.c
  2440 else
  1168 else
  2441     LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/giflib
  1169   # only on solaris...wonder why
  2442     GIFLIB_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/giflib
  1170   LIBJAAS_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
       
  1171 endif
       
  1172 
       
  1173 LIBJAAS_NAME := jaas_unix
       
  1174 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  1175   LIBJAAS_NAME := jaas_nt
       
  1176 endif
       
  1177 
       
  1178 $(eval $(call SetupNativeCompilation,BUILD_LIBJAAS, \
       
  1179     LIBRARY := $(LIBJAAS_NAME), \
       
  1180     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1181     SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/security/auth/module, \
       
  1182     LANG := C, \
       
  1183     OPTIMIZATION := LOW, \
       
  1184     CFLAGS := $(CFLAGS_JDKLIB), \
       
  1185     MAPFILE := $(LIBJAAS_MAPFILE), \
       
  1186     LDFLAGS := $(filter-out -ljava, $(LDFLAGS_JDKLIB)) \
       
  1187         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1188     LDFLAGS_windows := netapi32.lib user32.lib mpr.lib advapi32.lib, \
       
  1189     LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX), \
       
  1190     LDFLAGS_SUFFIX_solaris := -lc, \
       
  1191     EXCLUDE_FILES := $(LIBJAAS_EXCLUDE_FILES), \
       
  1192     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1193     RC_FLAGS := $(RC_FLAGS) \
       
  1194         -D "JDK_FNAME=$(LIBJAAS_NAME).dll" \
       
  1195         -D "JDK_INTERNAL_NAME=$(LIBJAAS_NAME)" \
       
  1196         -D "JDK_FTYPE=0x2L", \
       
  1197     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjaas, \
       
  1198     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  1199 
       
  1200 $(BUILD_LIBJAAS): $(BUILD_LIBJAVA)
       
  1201 
       
  1202 BUILD_LIBRARIES += $(BUILD_LIBJAAS)
       
  1203 
       
  1204 ##########################################################################################
       
  1205 
       
  1206 $(eval $(call SetupNativeCompilation,BUILD_LIBJSDT, \
       
  1207     LIBRARY := jsdt, \
       
  1208     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1209     SRC := $(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace \
       
  1210         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace, \
       
  1211     LANG := C, \
       
  1212     OPTIMIZATION := LOW, \
       
  1213     CFLAGS := $(CFLAGS_JDKLIB) \
       
  1214         -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace, \
       
  1215     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
       
  1216     LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  1217         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1218     LDFLAGS_SUFFIX_linux := $(LIBDL), \
       
  1219     LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL), \
       
  1220     LDFLAGS_SUFFIX_macosx := $(LIBDL), \
       
  1221     LDFLAGS_SUFFIX_solaris := -lc, \
       
  1222     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1223     RC_FLAGS := $(RC_FLAGS) \
       
  1224         -D "JDK_FNAME=jsdt.dll" \
       
  1225         -D "JDK_INTERNAL_NAME=jsdt" \
       
  1226         -D "JDK_FTYPE=0x2L", \
       
  1227     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjsdt, \
       
  1228     DEBUG_SYMBOLS := true))
       
  1229 
       
  1230 $(BUILD_LIBJSDT): $(BUILD_LIBJAVA)
       
  1231 
       
  1232 BUILD_LIBRARIES += $(BUILD_LIBJSDT)
       
  1233 
       
  1234 ##########################################################################################
       
  1235 
       
  1236 # TODO: Update awt lib path when awt is converted
       
  1237 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS, \
       
  1238     LIBRARY := lcms, \
       
  1239     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1240     SRC := $(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms, \
       
  1241     LANG := C, \
       
  1242     OPTIMIZATION := HIGHEST, \
       
  1243     CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \
       
  1244         $(SHARED_LIBRARY_FLAGS) \
       
  1245         -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
       
  1246         -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug, \
       
  1247     CFLAGS_solaris := -xc99=no_lib, \
       
  1248     CFLAGS_windows := -DCMS_IS_WINDOWS_, \
       
  1249     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
       
  1250     LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  1251         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1252     LDFLAGS_solaris := /usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2, \
       
  1253     LDFLAGS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \
       
  1254     LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc, \
       
  1255     LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm, \
       
  1256     LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm, \
       
  1257     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1258     RC_FLAGS := $(RC_FLAGS) \
       
  1259         -D "JDK_FNAME=lcms.dll" \
       
  1260         -D "JDK_INTERNAL_NAME=lcms" \
       
  1261         -D "JDK_FTYPE=0x2L", \
       
  1262     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/liblcms, \
       
  1263     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  1264 
       
  1265 BUILD_LIBRARIES += $(BUILD_LIBLCMS)
       
  1266 
       
  1267 $(BUILD_LIBLCMS): $(BUILD_LIBAWT)
       
  1268 
       
  1269 ##########################################################################################
       
  1270 
       
  1271 ifdef OPENJDK
       
  1272   BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
       
  1273 else
       
  1274   BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
       
  1275   BUILD_LIBJPEG_CLOSED_SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
       
  1276   BUILD_LIBJPEG_CLOSED_INCLUDES := -I$(BUILD_LIBJPEG_CLOSED_SRC)
       
  1277 endif
       
  1278 
       
  1279 BUILD_LIBJPEG_REORDER :=
       
  1280 ifeq ($(OPENJDK_TARGET_OS), solaris)
       
  1281   ifneq ($(OPENJDK_TARGET_CPU), x86_64)
       
  1282     BUILD_LIBJPEG_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
       
  1283   endif
       
  1284 endif
       
  1285 
       
  1286 # Suppress gcc warnings like "variable might be clobbered by 'longjmp'
       
  1287 # or 'vfork'": this warning indicates that some variable is placed to
       
  1288 # a register by optimized compiler and it's value might be lost on longjmp().
       
  1289 # Recommended way to avoid such warning is to declare the variable as
       
  1290 # volatile to prevent the optimization. However, this approach does not
       
  1291 # work because we have to declare all variables as volatile in result.
       
  1292 #ifndef CROSS_COMPILE_ARCH
       
  1293 #  CC_43_OR_NEWER := \
       
  1294 #      $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
       
  1295 #          \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
       
  1296 #  ifeq ($(CC_43_OR_NEWER), 1)
       
  1297 #    BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
       
  1298 #  endif
       
  1299 #endif
       
  1300 
       
  1301 $(eval $(call SetupNativeCompilation,BUILD_LIBJPEG, \
       
  1302     LIBRARY := jpeg, \
       
  1303     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1304     SRC := $(BUILD_LIBJPEG_CLOSED_SRC) \
       
  1305         $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
       
  1306     LANG := C, \
       
  1307     OPTIMIZATION := HIGHEST, \
       
  1308     CFLAGS := $(CFLAGS_JDKLIB) \
       
  1309         $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
       
  1310         -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
       
  1311     MAPFILE := $(BUILD_LIBJPEG_MAPFILE), \
       
  1312     LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  1313         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1314     LDFLAGS_windows := $(WIN_JAVA_LIB) jvm.lib, \
       
  1315     LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
       
  1316     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1317     RC_FLAGS := $(RC_FLAGS) \
       
  1318         -D "JDK_FNAME=jpeg.dll" \
       
  1319         -D "JDK_INTERNAL_NAME=jpeg" \
       
  1320         -D "JDK_FTYPE=0x2L", \
       
  1321     REORDER := $(BUILD_LIBJPEG_REORDER), \
       
  1322     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjpeg, \
       
  1323     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  1324 
       
  1325 $(BUILD_LIBJPEG): $(BUILD_LIBJAVA)
       
  1326 
       
  1327 BUILD_LIBRARIES += $(BUILD_LIBJPEG)
       
  1328 
       
  1329 ##########################################################################################
       
  1330 
       
  1331 ifndef OPENJDK
       
  1332   FONT_HEADERS := -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k
       
  1333   BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
       
  1334   LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
       
  1335 else
       
  1336   FONT_HEADERS := $(FREETYPE2_CFLAGS)
       
  1337   BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
       
  1338   BUILD_LIBFONTMANAGER_FONTLIB := $(FREETYPE2_LIBS)
       
  1339 endif
       
  1340 
       
  1341 LIBFONTMANAGER_OPTIMIZATION := HIGH
       
  1342 
       
  1343 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  1344   LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
       
  1345       X11TextRenderer.c
       
  1346   LIBFONTMANAGER_OPTIMIZATION := HIGHEST
       
  1347 else
       
  1348   LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
       
  1349       lcdglyph.c
       
  1350 endif
       
  1351 
       
  1352 BUILD_LIBFONTMANAGER_CFLAGS_COMMON := \
       
  1353     $(X_CFLAGS) \
       
  1354     -DLE_STANDALONE -DHEADLESS \
       
  1355     $(FONT_HEADERS) \
       
  1356     -I$(JDK_TOPDIR)/src/share/native/sun/font \
       
  1357     -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
       
  1358     -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
       
  1359     -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
       
  1360     -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
       
  1361     -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
       
  1362     -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
       
  1363     -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
       
  1364     -I$(JDK_TOPDIR)/src/share/native/sun/java2d
       
  1365 
       
  1366 # Turn off aliasing with GCC for ExtensionSubtables.cpp
       
  1367 ifeq ($(OPENJDK_TARGET_OS), linux)
       
  1368   BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
       
  1369 endif
       
  1370 
       
  1371 $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \
       
  1372     LIBRARY := fontmanager, \
       
  1373     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1374     SRC := $(JDK_TOPDIR)/src/share/native/sun/font \
       
  1375         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font, \
       
  1376     EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
       
  1377         AccelGlyphCache.c, \
       
  1378     LANG := C++, \
       
  1379     CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON), \
       
  1380     CXXFLAGS := $(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON), \
       
  1381     OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
       
  1382     CFLAGS_windows = -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
       
  1383         -DCC_NOEX, \
       
  1384     MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \
       
  1385     LDFLAGS := $(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
       
  1386         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1387     LDFLAGS_SUFFIX := $(BUILD_LIBFONTMANAGER_FONTLIB), \
       
  1388     LDFLAGS_SUFFIX_linux := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \
       
  1389     LDFLAGS_SUFFIX_solaris := -lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm, \
       
  1390     LDFLAGS_SUFFIX_macosx := -lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
       
  1391         -ljava -ljvm, \
       
  1392     LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
       
  1393         $(WIN_AWT_LIB), \
       
  1394     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1395     RC_FLAGS := $(RC_FLAGS) \
       
  1396         -D "JDK_FNAME=fontmanager.dll" \
       
  1397         -D "JDK_INTERNAL_NAME=fontmanager" \
       
  1398         -D "JDK_FTYPE=0x2L", \
       
  1399     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfontmanager, \
       
  1400     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  1401 
       
  1402 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
       
  1403 
       
  1404 ifneq (, $(findstring $(OPENJDK_TARGET_OS), solaris macosx))
       
  1405   $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT_XAWT)
       
  1406 endif
       
  1407 
       
  1408 BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
       
  1409 
       
  1410 ##########################################################################################
       
  1411 
       
  1412 ifndef OPENJDK
       
  1413 
       
  1414   #ifeq ($(OPENJDK_TARGET_OS), linux)
       
  1415   #  ifeq ("$(CC_VER_MAJOR)", "3")
       
  1416   #    OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
       
  1417   #  endif
       
  1418   #endif
       
  1419   #
       
  1420   # The resulting size of the t2k lib file is (at least on linux) dependant on the order of
       
  1421   # the input .o files. Because of this the new build will differ in size to the old build.
       
  1422   BUILD_LIBT2K_CFLAGS_COMMON := -I$(JDK_TOPDIR)/src/share/native/sun/font \
       
  1423       -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
       
  1424       -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
       
  1425       -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
       
  1426       -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
       
  1427       -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
       
  1428       -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
       
  1429       -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
       
  1430       -I$(JDK_TOPDIR)/src/share/native/sun/java2d
       
  1431 
       
  1432   $(eval $(call SetupNativeCompilation,BUILD_LIBT2K, \
       
  1433       LIBRARY := t2k, \
       
  1434       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1435       SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/font \
       
  1436           $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
       
  1437           $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints, \
       
  1438       EXCLUDE_FILES := orion.c, \
       
  1439       LANG := C++, \
       
  1440       OPTIMIZATION := HIGH, \
       
  1441       CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON), \
       
  1442       CXXFLAGS := $(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON), \
       
  1443       CFLAGS_windows = -DCC_NOEX, \
       
  1444       CXXFLAGS_windows = -DCC_NOEX, \
       
  1445       MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
       
  1446       LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
       
  1447           $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1448       LDFLAGS_windows := user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib, \
       
  1449       LDFLAGS_SUFFIX_posix := $(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc, \
       
  1450       LDFLAGS_SUFFIX_solaris := -lawt -lawt_xawt, \
       
  1451       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1452       RC_FLAGS := $(RC_FLAGS) \
       
  1453           -D "JDK_FNAME=t2k.dll" \
       
  1454           -D "JDK_INTERNAL_NAME=t2k" \
       
  1455           -D "JDK_FTYPE=0x2L", \
       
  1456       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libt2k, \
       
  1457       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  1458 
       
  1459   # t2k is linked against fontmanager
       
  1460   $(BUILD_LIBT2K): $(BUILD_LIBFONTMANAGER)
       
  1461 
       
  1462   BUILD_LIBRARIES += $(BUILD_LIBT2K)
       
  1463 endif
       
  1464 
       
  1465 ##########################################################################################
       
  1466 
       
  1467 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  1468   ifeq ($(OPENJDK_TARGET_CPU), x86)
       
  1469     KERNEL32_LIB := kernel32.lib
       
  1470   endif
       
  1471   $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT, \
       
  1472       LIBRARY := jawt, \
       
  1473       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1474       SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows, \
       
  1475       INCLUDE_FILES := jawt.cpp, \
       
  1476       LANG := C++, \
       
  1477       OPTIMIZATION := LOW, \
       
  1478       CFLAGS := $(CXXFLAGS_JDKLIB) \
       
  1479           -EHsc -DUNICODE -D_UNICODE \
       
  1480           -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
       
  1481           -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
       
  1482           -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
       
  1483           -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
       
  1484           -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows, \
       
  1485       LDFLAGS := $(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \
       
  1486           advapi32.lib $(WIN_AWT_LIB), \
       
  1487       LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
       
  1488       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1489       RC_FLAGS := $(RC_FLAGS) \
       
  1490           -D "JDK_FNAME=jawt.dll" \
       
  1491           -D "JDK_INTERNAL_NAME=jawt" \
       
  1492           -D "JDK_FTYPE=0x2L", \
       
  1493       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawt, \
       
  1494       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  1495 
       
  1496   $(BUILD_LIBJAWT): $(BUILD_LIBAWT)
       
  1497 
       
  1498   $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
       
  1499 	$(ECHO) Copying $(@F)
       
  1500 	$(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@
       
  1501 
       
  1502   BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
       
  1503 
       
  1504 else # OPENJDK_TARGET_OS not windows
       
  1505 
       
  1506   JAWT_LIBS :=
       
  1507   ifneq ($(OPENJDK_TARGET_OS), solaris)
       
  1508     JAWT_LIBS += -lawt
       
  1509   endif
       
  1510 
       
  1511   ifndef BUILD_HEADLESS_ONLY
       
  1512     JAWT_LIBS += -lawt_xawt
       
  1513   else
       
  1514     JAWT_LIBS += -lawt_headless
       
  1515     HEADLESS_CFLAG += -DHEADLESS
       
  1516   endif
       
  1517 
       
  1518   JAWT_FILES := jawt.c
       
  1519   ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  1520     JAWT_FILES := jawt.m
       
  1521     JAWT_LIBS := -lawt_lwawt
       
  1522   endif
       
  1523 
       
  1524   $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT, \
       
  1525       LIBRARY := jawt, \
       
  1526       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1527       SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
       
  1528           $(JDK_TOPDIR)/src/macosx/native/sun/awt, \
       
  1529       INCLUDE_FILES := $(JAWT_FILES), \
       
  1530       LANG := C, \
       
  1531       OPTIMIZATION := LOW, \
       
  1532       CFLAGS := $(CFLAGS_JDKLIB), \
       
  1533       CFLAGS_linux := $(HEADLESS_CFLAG), \
       
  1534       CFLAGS_macosx := -I$(JDK_TOPDIR)/src/solaris/native/sun/awt, \
       
  1535       MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
       
  1536       LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  1537           $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1538       LDFLAGS_solaris := -L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \
       
  1539       LDFLAGS_SUFFIX_linux := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \
       
  1540       LDFLAGS_SUFFIX_solaris := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender, \
       
  1541       LDFLAGS_SUFFIX_macosx := -Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
       
  1542           -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX), \
       
  1543       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawt, \
       
  1544       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  1545 
       
  1546   ifndef BUILD_HEADLESS_ONLY
       
  1547     $(BUILD_LIBJAWT): $(BUILD_LIBAWT_XAWT)
       
  1548   else
       
  1549     $(BUILD_LIBJAWT): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
       
  1550   endif
       
  1551 
       
  1552   ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  1553     $(BUILD_LIBJAWT): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
       
  1554   endif
       
  1555 
       
  1556 endif # OPENJDK_TARGET_OS
       
  1557 
       
  1558 BUILD_LIBRARIES += $(BUILD_LIBJAWT)
       
  1559 
       
  1560 ##########################################################################################
       
  1561 
       
  1562 LIBINSTRUMENT_SRC := $(JDK_TOPDIR)/src/share/instrument \
       
  1563     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
       
  1564     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument
       
  1565 
       
  1566 LIBINSTRUMENT_FILES := \
       
  1567     EncodingSupport.c \
       
  1568     EncodingSupport_md.c \
       
  1569     FileSystemSupport_md.c \
       
  1570     InstrumentationImplNativeMethods.c \
       
  1571     InvocationAdapter.c \
       
  1572     JarFacade.c \
       
  1573     JPLISAgent.c \
       
  1574     JPLISAssert.c \
       
  1575     JavaExceptions.c \
       
  1576     PathCharsValidator.c \
       
  1577     Reentrancy.c \
       
  1578     Utilities.c \
       
  1579     canonicalize_md.c
       
  1580 
       
  1581 LIBINSTRUMENT_DIR := $(JDK_OUTPUTDIR)/objs/libinstrument
       
  1582 LIBINSTRUMENT_CFLAGS := $(CFLAGS_JDKLIB) \
       
  1583     -I$(JDK_TOPDIR)/src/share/instrument \
       
  1584     -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \
       
  1585     -I$(JDK_TOPDIR)/src/share/bin
       
  1586 
       
  1587 LIBINSTRUMENT_LDFLAGS :=
       
  1588 LIBINSTRUMENT_LDFLAGS_SUFFIX :=
       
  1589 
       
  1590 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  1591   LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
       
  1592       -export:Agent_OnAttach advapi32.lib
       
  1593   # Statically link the C runtime so that there are not dependencies on modules
       
  1594   # not on the search patch when invoked from the Windows system directory
       
  1595   # (or elsewhere).
       
  1596   LIBINSTRUMENT_CFLAGS := $(filter-out -MD, $(LIBINSTRUMENT_CFLAGS))
       
  1597   # equivalent of strcasecmp is stricmp on Windows
       
  1598   LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
       
  1599 endif
       
  1600 
       
  1601 $(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT, \
       
  1602     LIBRARY := instrument, \
       
  1603     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1604     SRC := $(LIBINSTRUMENT_SRC), \
       
  1605     INCLUDE_FILES := $(LIBINSTRUMENT_FILES), \
       
  1606     LANG := C, \
       
  1607     OPTIMIZATION := LOW, \
       
  1608     CFLAGS := $(LIBINSTRUMENT_CFLAGS), \
       
  1609     CFLAGS_debug := -DJPLIS_LOGGING, \
       
  1610     CFLAGS_release := -DNO_JPLIS_LOGGING, \
       
  1611     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
       
  1612     LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  1613         $(call SET_SHARED_LIBRARY_ORIGIN) \
       
  1614         $(LIBINSTRUMENT_LDFLAGS), \
       
  1615     LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \
       
  1616     LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \
       
  1617     LDFLAGS_macosx := -Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
       
  1618         -framework Cocoa -framework Security -framework ApplicationServices, \
       
  1619     LDFLAGS_SUFFIX := $(LIBINSTRUMENT_LDFLAGS_SUFFIX), \
       
  1620     LDFLAGS_SUFFIX_macosx := -liconv $(LIBZ), \
       
  1621     LDFLAGS_SUFFIX_solaris := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc, \
       
  1622     LDFLAGS_SUFFIX_linux := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL), \
       
  1623     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1624     RC_FLAGS := $(RC_FLAGS) \
       
  1625         -D "JDK_FNAME=instrument.dll" \
       
  1626         -D "JDK_INTERNAL_NAME=instrument" \
       
  1627         -D "JDK_FTYPE=0x2L", \
       
  1628     OBJECT_DIR := $(LIBINSTRUMENT_DIR), \
       
  1629     DEBUG_SYMBOLS := true))
       
  1630 
       
  1631 ifneq (, $(findstring $(OPENJDK_TARGET_OS), macosx windows))
       
  1632   $(BUILD_LIBINSTRUMENT): $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
       
  1633 else
       
  1634   $(BUILD_LIBINSTRUMENT): $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
       
  1635 endif
       
  1636 $(BUILD_LIBINSTRUMENT): $(BUILD_LIBJAVA)
       
  1637 
       
  1638 BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
       
  1639 
       
  1640 ##########################################################################################
       
  1641 
       
  1642 BUILD_LIBMANAGEMENT_SRC := $(JDK_TOPDIR)/src/share/native/sun/management \
       
  1643     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \
       
  1644     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management
       
  1645 
       
  1646 BUILD_LIBMANAGEMENT_EXCLUDES :=
       
  1647 
       
  1648 BUILD_LIBMANAGEMENT_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/management
       
  1649 
       
  1650 ifneq ($(OPENJDK_TARGET_OS), windows)
       
  1651   BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
       
  1652 else
       
  1653   BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
       
  1654 endif
       
  1655 
       
  1656 ifneq ($(OPENJDK_TARGET_OS), solaris)
       
  1657   BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
       
  1658 endif
       
  1659 
       
  1660 ifneq ($(OPENJDK_TARGET_OS), linux)
       
  1661   BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
  2443 endif
  1662 endif
  2444 
  1663 
  2445 ifneq ($(OPENJDK_TARGET_OS), macosx)
  1664 ifneq ($(OPENJDK_TARGET_OS), macosx)
  2446     LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
  1665   BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
       
  1666 endif
       
  1667 
       
  1668 LIBMANAGEMENT_OPTIMIZATION := HIGH
       
  1669 ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
       
  1670   ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
       
  1671     LIBMANAGEMENT_OPTIMIZATION := LOW
       
  1672   endif
       
  1673 endif
       
  1674 
       
  1675 $(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT, \
       
  1676     LIBRARY := management, \
       
  1677     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1678     SRC := $(BUILD_LIBMANAGEMENT_SRC), \
       
  1679     EXCLUDE_FILES := $(BUILD_LIBMANAGEMENT_EXCLUDES), \
       
  1680     LANG := C, \
       
  1681     OPTIMIZATION := $(LIBMANAGEMENT_OPTIMIZATION), \
       
  1682     CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS), \
       
  1683     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
       
  1684     LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  1685         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1686     LDFLAGS_solaris := -lkstat, \
       
  1687     LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
       
  1688     LDFLAGS_SUFFIX_windows := jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib, \
       
  1689     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1690     RC_FLAGS := $(RC_FLAGS) \
       
  1691         -D "JDK_FNAME=management.dll" \
       
  1692         -D "JDK_INTERNAL_NAME=management" \
       
  1693         -D "JDK_FTYPE=0x2L", \
       
  1694     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libmanagement, \
       
  1695     DEBUG_SYMBOLS := true))
       
  1696 
       
  1697 $(BUILD_LIBMANAGEMENT): $(BUILD_LIBJAVA)
       
  1698 
       
  1699 BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
       
  1700 
       
  1701 ##########################################################################################
       
  1702 
       
  1703 BUILD_LIBHPROF_SRC := $(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/demo/jvmti/hprof
       
  1704 BUILD_LIBHPROF_CFLAGS := -I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
       
  1705     -I$(JDK_TOPDIR)/src/share/npt \
       
  1706     -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
       
  1707     -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
       
  1708 
       
  1709 BUILD_LIBHPROF_LDFLAGS :=
       
  1710 
       
  1711 LIBHPROF_OPTIMIZATION := HIGHEST
       
  1712 ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
       
  1713   ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
       
  1714     LIBHPROF_OPTIMIZATION := LOW
       
  1715   endif
       
  1716 endif
       
  1717 
       
  1718 $(eval $(call SetupNativeCompilation,BUILD_LIBHPROF, \
       
  1719     LIBRARY := hprof, \
       
  1720     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1721     SRC := $(BUILD_LIBHPROF_SRC), \
       
  1722     LANG := C, \
       
  1723     OPTIMIZATION := $(LIBHPROF_OPTIMIZATION), \
       
  1724     CFLAGS := $(CFLAGS_JDKLIB) \
       
  1725         $(BUILD_LIBHPROF_CFLAGS), \
       
  1726     CFLAGS_debug := -DHPROF_LOGGING, \
       
  1727     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
       
  1728     LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  1729         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1730     LDFLAGS_windows := wsock32.lib winmm.lib advapi32.lib, \
       
  1731     LDFLAGS_SUFFIX_linux := $(LIBDL), \
       
  1732     LDFLAGS_SUFFIX_macosx := $(LIBDL), \
       
  1733     LDFLAGS_SUFFIX_solaris := -lsocket -lnsl $(LIBDL) -lc, \
       
  1734     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1735     RC_FLAGS := $(RC_FLAGS) \
       
  1736         -D "JDK_FNAME=hprof.dll" \
       
  1737         -D "JDK_INTERNAL_NAME=hprof" \
       
  1738         -D "JDK_FTYPE=0x2L", \
       
  1739     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libhprof_jvmti, \
       
  1740     DEBUG_SYMBOLS := true))
       
  1741 
       
  1742 BUILD_LIBRARIES += $(BUILD_LIBHPROF)
       
  1743 
       
  1744 ##########################################################################################
       
  1745 
       
  1746 $(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO, \
       
  1747     LIBRARY := java_crw_demo, \
       
  1748     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1749     SRC := $(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo, \
       
  1750     LANG := C, \
       
  1751     OPTIMIZATION := LOW, \
       
  1752     CFLAGS := $(CFLAGS_JDKLIB) \
       
  1753         -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo, \
       
  1754     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
       
  1755     LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  1756         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1757     LDFLAGS_SUFFIX_solaris := -lc, \
       
  1758     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1759     RC_FLAGS := $(RC_FLAGS) \
       
  1760         -D "JDK_FNAME=java_crw_demo.dll" \
       
  1761         -D "JDK_INTERNAL_NAME=java_crw_demo" \
       
  1762         -D "JDK_FTYPE=0x2L", \
       
  1763     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjava_crw_demo, \
       
  1764     DEBUG_SYMBOLS := true))
       
  1765 
       
  1766 BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
       
  1767 
       
  1768 ##########################################################################################
       
  1769 
       
  1770 $(eval $(call SetupNativeCompilation,BUILD_LIBNPT, \
       
  1771     LIBRARY := npt, \
       
  1772     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1773     SRC := $(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt, \
       
  1774     LANG := C, \
       
  1775     OPTIMIZATION := LOW, \
       
  1776     CFLAGS := $(CFLAGS_JDKLIB) \
       
  1777         -I$(JDK_TOPDIR)/src/share/npt \
       
  1778         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt, \
       
  1779     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
       
  1780     LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  1781         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1782     LDFLAGS_macosx := -liconv, \
       
  1783     LDFLAGS_SUFFIX_windows := -export:nptInitialize -export:nptTerminate, \
       
  1784     LDFLAGS_SUFFIX_solaris := -lc, \
       
  1785     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1786     RC_FLAGS := $(RC_FLAGS) \
       
  1787         -D "JDK_FNAME=npt.dll" \
       
  1788         -D "JDK_INTERNAL_NAME=npt" \
       
  1789         -D "JDK_FTYPE=0x2L", \
       
  1790     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libnpt, \
       
  1791     DEBUG_SYMBOLS := true))
       
  1792 
       
  1793 BUILD_LIBRARIES += $(BUILD_LIBNPT)
       
  1794 
       
  1795 ##########################################################################################
       
  1796 
       
  1797 LIBNET_SRC_DIRS := $(JDK_TOPDIR)/src/share/native/java/net \
       
  1798     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \
       
  1799     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \
       
  1800     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi
       
  1801 
       
  1802 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  1803   LIBNET_SRC_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm
  2447 else
  1804 else
  2448     LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
  1805   LIBNET_SRC_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp
  2449 endif
  1806 endif
  2450 
  1807 
  2451 LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \
  1808 LIBNET_CFLAGS := $(foreach dir, $(LIBNET_SRC_DIRS), -I$(dir))
  2452 	$(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir))
  1809 
       
  1810 LIBNET_EXCLUDE_FILES :=
       
  1811 ifneq ($(OPENJDK_TARGET_OS), linux)
       
  1812   LIBNET_EXCLUDE_FILES += linux_close.c
       
  1813 endif
       
  1814 
       
  1815 ifneq ($(OPENJDK_TARGET_OS), macosx)
       
  1816   LIBNET_EXCLUDE_FILES += bsd_close.c
       
  1817 endif
       
  1818 
       
  1819 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  1820   LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
       
  1821 else
       
  1822   LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
       
  1823       TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
       
  1824       NTLMAuthSequence.c NetworkInterface_winXP.c
       
  1825 endif
       
  1826 
       
  1827 $(eval $(call SetupNativeCompilation,BUILD_LIBNET, \
       
  1828     LIBRARY := net, \
       
  1829     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1830     SRC := $(LIBNET_SRC_DIRS), \
       
  1831     EXCLUDE_FILES := $(LIBNET_EXCLUDE_FILES), \
       
  1832     LANG := C, \
       
  1833     OPTIMIZATION := LOW, \
       
  1834     CFLAGS := $(CFLAGS_JDKLIB) \
       
  1835         $(LIBNET_CFLAGS), \
       
  1836     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
       
  1837     LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  1838         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1839     LDFLAGS_SUFFIX_macosx := -ljvm -ljava, \
       
  1840     LDFLAGS_SUFFIX_solaris := -ljvm -ljava -lnsl -lsocket $(LIBDL) -lc, \
       
  1841     LDFLAGS_SUFFIX_linux := $(LIBDL) -ljvm -lpthread -ljava, \
       
  1842     LDFLAGS_SUFFIX_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \
       
  1843         delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \
       
  1844         -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \
       
  1845     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1846     RC_FLAGS := $(RC_FLAGS) \
       
  1847         -D "JDK_FNAME=net.dll" \
       
  1848         -D "JDK_INTERNAL_NAME=net" \
       
  1849         -D "JDK_FTYPE=0x2L", \
       
  1850     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libnet, \
       
  1851     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  1852 
       
  1853 $(BUILD_LIBNET): $(BUILD_LIBJAVA)
       
  1854 
       
  1855 BUILD_LIBRARIES += $(BUILD_LIBNET)
       
  1856 
       
  1857 $(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
       
  1858 	$(ECHO) $(LOG_INFO) Copying $(@F)
       
  1859 	$(call install-file)
       
  1860 
       
  1861 COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
       
  1862 
       
  1863 ifeq ($(OPENJDK_TARGET_OS), solaris)
       
  1864   $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template: $(JDK_TOPDIR)/src/${OPENJDK_TARGET_OS_API_DIR}/lib/sdp/sdp.conf.template
       
  1865 	$(ECHO) $(LOG_INFO) Copying $(@F)
       
  1866 	$(call install-file)
       
  1867 
       
  1868   COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
       
  1869 endif
       
  1870 
       
  1871 ##########################################################################################
       
  1872 
       
  1873 BUILD_LIBNIO_SRC := \
       
  1874     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/nio \
       
  1875     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
       
  1876     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
       
  1877 
       
  1878 BUILD_LIBNIO_CFLAGS := \
       
  1879     -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
       
  1880     -I$(JDK_TOPDIR)/src/share/native/java/io \
       
  1881     -I$(JDK_TOPDIR)/src/share/native/java/net \
       
  1882     -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net
       
  1883 
       
  1884 BUILD_LIBNIO_FILES := \
       
  1885     DatagramChannelImpl.c \
       
  1886     DatagramDispatcher.c \
       
  1887     FileChannelImpl.c \
       
  1888     FileDispatcherImpl.c \
       
  1889     FileKey.c \
       
  1890     IOUtil.c \
       
  1891     MappedByteBuffer.c \
       
  1892     Net.c \
       
  1893     ServerSocketChannelImpl.c \
       
  1894     SocketChannelImpl.c \
       
  1895     SocketDispatcher.c
       
  1896 
       
  1897 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  1898   BUILD_LIBNIO_FILES += \
       
  1899       Iocp.c \
       
  1900       RegistryFileTypeDetector.c \
       
  1901       WindowsAsynchronousFileChannelImpl.c \
       
  1902       WindowsAsynchronousServerSocketChannelImpl.c \
       
  1903       WindowsAsynchronousSocketChannelImpl.c \
       
  1904       WindowsNativeDispatcher.c \
       
  1905       WindowsSelectorImpl.c
       
  1906 endif
       
  1907 
       
  1908 ifeq ($(OPENJDK_TARGET_OS), linux)
       
  1909   BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
       
  1910   BUILD_LIBNIO_FILES += \
       
  1911       EPoll.c \
       
  1912       EPollArrayWrapper.c \
       
  1913       EPollPort.c \
       
  1914       InheritedChannel.c \
       
  1915       NativeThread.c \
       
  1916       PollArrayWrapper.c \
       
  1917       UnixAsynchronousServerSocketChannelImpl.c \
       
  1918       UnixAsynchronousSocketChannelImpl.c \
       
  1919       GnomeFileTypeDetector.c \
       
  1920       MagicFileTypeDetector.c \
       
  1921       LinuxNativeDispatcher.c \
       
  1922       LinuxWatchService.c \
       
  1923       UnixCopyFile.c \
       
  1924       UnixNativeDispatcher.c
       
  1925 endif
  2453 
  1926 
  2454 ifeq ($(OPENJDK_TARGET_OS), macosx)
  1927 ifeq ($(OPENJDK_TARGET_OS), macosx)
  2455 	LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
  1928   BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
  2456                                   $(LIBSPLASHSCREEN_CFLAGS) \
  1929   BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
  2457                                   -F/System/Library/Frameworks/JavaVM.framework/Frameworks
  1930   BUILD_LIBNIO_FILES += \
  2458 	LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
  1931       InheritedChannel.c \
  2459 	LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
  1932       NativeThread.c \
  2460 
  1933       PollArrayWrapper.c \
  2461 	LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0
  1934       UnixAsynchronousServerSocketChannelImpl.c \
  2462 	LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0
  1935       UnixAsynchronousSocketChannelImpl.c \
  2463 	LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0
  1936       BsdNativeDispatcher.c \
  2464 	LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0
  1937       MacOSXNativeDispatcher.c \
  2465 	LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0
  1938       UnixCopyFile.c \
  2466 	LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0
  1939       UnixNativeDispatcher.c \
  2467 	LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0
  1940       KQueue.c \
  2468 
  1941       KQueuePort.c \
  2469 else ifneq ($(OPENJDK_TARGET_OS), windows)
  1942       KQueueArrayWrapper.c
  2470 	LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
  1943 endif
       
  1944 
       
  1945 ifeq ($(OPENJDK_TARGET_OS), solaris)
       
  1946   BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
       
  1947   BUILD_LIBNIO_FILES += \
       
  1948       DevPollArrayWrapper.c \
       
  1949       InheritedChannel.c \
       
  1950       NativeThread.c \
       
  1951       PollArrayWrapper.c \
       
  1952       SolarisEventPort.c \
       
  1953       UnixAsynchronousServerSocketChannelImpl.c \
       
  1954       UnixAsynchronousSocketChannelImpl.c \
       
  1955       GnomeFileTypeDetector.c \
       
  1956       SolarisNativeDispatcher.c \
       
  1957       SolarisWatchService.c \
       
  1958       UnixCopyFile.c \
       
  1959       UnixNativeDispatcher.c
       
  1960 endif
       
  1961 
       
  1962 $(eval $(call SetupNativeCompilation,BUILD_LIBNIO, \
       
  1963     LIBRARY := nio, \
       
  1964     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1965     SRC := $(BUILD_LIBNIO_SRC), \
       
  1966     INCLUDE_FILES := $(BUILD_LIBNIO_FILES), \
       
  1967     LANG := C, \
       
  1968     OPTIMIZATION := HIGH, \
       
  1969     CFLAGS := $(CFLAGS_JDKLIB) \
       
  1970         $(BUILD_LIBNIO_CFLAGS), \
       
  1971     MAPFILE := $(BUILD_LIBNIO_MAPFILE), \
       
  1972     LDFLAGS := $(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
       
  1973         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  1974     LDFLAGS_SUFFIX_linux := -ljava -lnet -lpthread $(LIBDL), \
       
  1975     LDFLAGS_SUFFIX_solaris := -ljvm -lsocket -lposix4 $(LIBDL) \
       
  1976         -lsendfile -ljava -lnet -lc, \
       
  1977     LDFLAGS_SUFFIX_windows := jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
       
  1978         $(JDK_OUTPUTDIR)/objs/libnet/net.lib \
       
  1979         advapi32.lib, \
       
  1980     LDFLAGS_SUFFIX_macosx := -ljava -lnet -pthread -framework CoreFoundation, \
       
  1981     LDFLAGS_SUFFIX :=, \
       
  1982     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  1983     RC_FLAGS := $(RC_FLAGS) \
       
  1984         -D "JDK_FNAME=nio.dll" \
       
  1985         -D "JDK_INTERNAL_NAME=nio" \
       
  1986         -D "JDK_FTYPE=0x2L", \
       
  1987     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libnio, \
       
  1988     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  1989 
       
  1990 BUILD_LIBRARIES += $(BUILD_LIBNIO)
       
  1991 
       
  1992 $(BUILD_LIBNIO): $(BUILD_LIBNET)
       
  1993 
       
  1994 ##########################################################################################
       
  1995 
       
  1996 ifeq ($(OPENJDK_TARGET_OS_API), posix)
       
  1997 
       
  1998   ifneq ($(OPENJDK_TARGET_OS), macosx)
       
  1999 
       
  2000     SCTP_WERROR := -Werror
       
  2001     ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
       
  2002       SCTP_WERROR :=
       
  2003     endif
       
  2004 
       
  2005     $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP, \
       
  2006         LIBRARY := sctp, \
       
  2007         OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  2008         SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp, \
       
  2009         LANG := C, \
       
  2010         OPTIMIZATION := LOW, \
       
  2011         CFLAGS := $(CFLAGS_JDKLIB) \
       
  2012             -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
       
  2013             -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
       
  2014             -I$(JDK_TOPDIR)/src/share/native/java/net \
       
  2015             -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
       
  2016             -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net, \
       
  2017         CFLAGS_linux := $(SCTP_WERROR), \
       
  2018         MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
       
  2019         LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  2020             $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  2021         LDFLAGS_SUFFIX_linux := -lpthread $(LIBDL) -ljava -ljvm, \
       
  2022         LDFLAGS_SUFFIX_posix := -lnio -lnet, \
       
  2023         LDFLAGS_SUFFIX_solaris := -lsocket -ljava -ljvm -lc, \
       
  2024         LDFLAGS_SUFFIX_macosx := -ljava -ljvm, \
       
  2025         OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsctp, \
       
  2026         DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  2027 
       
  2028     BUILD_LIBRARIES += $(BUILD_LIBSCTP)
       
  2029 
       
  2030     $(BUILD_LIBSCTP): $(BUILD_LIBNIO)
       
  2031   endif
       
  2032 endif
       
  2033 
       
  2034 ##########################################################################################
       
  2035 
       
  2036 BUILD_LIBJLI_SRC_DIRS := $(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin
       
  2037 LIBJLI_CFLAGS := $(CFLAGS_JDKLIB) $(foreach dir, $(BUILD_LIBJLI_SRC_DIRS), -I$(dir))
       
  2038 
       
  2039 BUILD_LIBJLI_FILES := \
       
  2040     java.c \
       
  2041     splashscreen_stubs.c \
       
  2042     parse_manifest.c \
       
  2043     version_comp.c \
       
  2044     wildcard.c \
       
  2045     jli_util.c
       
  2046 
       
  2047 ifeq ($(JVM_VARIANT_ZERO), true)
       
  2048   ERGO_FAMILY := zero
  2471 else
  2049 else
  2472 	LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
  2050   ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
  2473 endif
  2051     ERGO_FAMILY := i586
  2474 
  2052   else
  2475 LIBSPLASHSCREEN_LDFLAGS_SUFFIX:=
  2053     ERGO_FAMILY := $(OPENJDK_TARGET_CPU_ARCH)
  2476 
  2054   endif
  2477 ifneq ($(USE_EXTERNAL_LIBZ),true)
       
  2478 	LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
       
  2479 	LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS)
       
  2480 endif
  2055 endif
  2481 
  2056 
  2482 ifeq ($(OPENJDK_TARGET_OS), macosx)
  2057 ifeq ($(OPENJDK_TARGET_OS), macosx)
  2483 	LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
  2058   LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
  2484 				  -framework ApplicationServices \
  2059   BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
  2485 				  -framework Foundation \
  2060   BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
  2486 				  -framework Cocoa \
  2061 
  2487                                   -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
  2062   BUILD_LIBJLI_java_md_macosx.c_CFLAGS := -x objective-c
  2488 				  -framework JavaNativeFoundation
  2063   BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS := -x objective-c
  2489 else ifneq ($(OPENJDK_TARGET_OS), windows)
  2064 endif
  2490 	LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
  2065 
  2491 else # OPENJDK_TARGET_OS
  2066 ifeq ($(OPENJDK_TARGET_OS), windows)
  2492 	LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
  2067   BUILD_LIBJLI_FILES += java_md.c \
  2493 endif # OPENJDK_TARGET_OS
  2068       cmdtoargs.c
  2494 
  2069   # Staticically link with c runtime on windows.
  2495 $(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\
  2070   LIBJLI_CFLAGS := $(filter-out -MD, $(LIBJLI_CFLAGS))
  2496 		LIBRARY:=splashscreen,\
  2071 else ifneq ($(OPENJDK_TARGET_OS), macosx)
  2497                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
  2072 
  2498 		SRC:=$(LIBSPLASHSCREEN_DIRS),\
  2073   BUILD_LIBJLI_FILES += java_md_common.c
  2499 		EXCLUDE_FILES:=imageioJPEG.c jpegdecoder.c pngtest.c,\
  2074   BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c
  2500 		LANG:=C,\
  2075 
  2501 		OPTIMIZATION:=LOW, \
  2076   ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
  2502 		CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS),\
  2077 
  2503 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
  2078   # if the architecture specific ergo file exists then
  2504 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
  2079   # use it, else use the generic definitions from ergo.c
  2505 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
  2080   ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)), )
  2506 		LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS),\
  2081     BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
  2507 		LDFLAGS_SUFFIX_solaris:=-lc,\
  2082   else # !ERGO_ARCH_FILE
  2508 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
  2083     LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
  2509 		RC_FLAGS:=$(RC_FLAGS)\
  2084   endif # ERGO_ARCH_FILE
  2510 			  -D "JDK_FNAME=splashscreen.dll" \
  2085 endif #WINDOWS
  2511 			  -D "JDK_INTERNAL_NAME=splashscreen" \
  2086 
  2512 			  -D "JDK_FTYPE=0x2L",\
  2087 # Append defines depending on target platform
  2513 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\
  2088 LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS)
  2514 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
  2089 
  2515 
  2090 ifeq ($(OPENJDK_TARGET_OS), macosx)
  2516 BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
  2091   LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
  2517 
  2092 endif
  2518 ifeq ($(OPENJDK_TARGET_OS),macosx)
  2093 
  2519 $(LIBSPLASHSCREEN) :  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
  2094 ifneq ($(USE_EXTERNAL_LIBZ), true)
  2520 endif
  2095   BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
  2521 
  2096   LIBJLI_CFLAGS += $(ZLIB_CPPFLAGS)
       
  2097   BUILD_LIBJLI_FILES += \
       
  2098       inflate.c \
       
  2099       inftrees.c \
       
  2100       inffast.c \
       
  2101       zadler32.c \
       
  2102       zcrc32.c \
       
  2103       zutil.c
       
  2104 endif
       
  2105 
       
  2106 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  2107   LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE)
       
  2108 else
       
  2109   LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE)/jli
       
  2110 endif
       
  2111 
       
  2112 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI, \
       
  2113     LIBRARY := jli, \
       
  2114     OUTPUT_DIR := $(LIBJLI_OUTPUT_DIR), \
       
  2115     SRC := $(BUILD_LIBJLI_SRC_DIRS), \
       
  2116     INCLUDE_FILES := $(BUILD_LIBJLI_FILES), \
       
  2117     LANG := C, \
       
  2118     OPTIMIZATION := HIGH, \
       
  2119     CFLAGS := $(LIBJLI_CFLAGS), \
       
  2120     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
       
  2121     LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  2122         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  2123     LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
       
  2124     LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
       
  2125     LDFLAGS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
       
  2126     LDFLAGS_SUFFIX_solaris := $(LIBZ) $(LIBDL) -lc, \
       
  2127     LDFLAGS_SUFFIX_linux := $(LIBZ) $(LIBDL) -lc -lpthread, \
       
  2128     LDFLAGS_SUFFIX_macosx := $(LIBZ), \
       
  2129     LDFLAGS_SUFFIX_windows := \
       
  2130         -export:JLI_Launch \
       
  2131         -export:JLI_ManifestIterate \
       
  2132         -export:JLI_SetTraceLauncher \
       
  2133         -export:JLI_ReportErrorMessage \
       
  2134         -export:JLI_ReportErrorMessageSys \
       
  2135         -export:JLI_ReportMessage \
       
  2136         -export:JLI_ReportExceptionDescription \
       
  2137         -export:JLI_MemAlloc \
       
  2138         -export:JLI_CmdToArgs \
       
  2139         -export:JLI_GetStdArgc \
       
  2140         -export:JLI_GetStdArgs \
       
  2141         advapi32.lib \
       
  2142         comctl32.lib \
       
  2143         user32.lib, \
       
  2144     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  2145     RC_FLAGS := $(RC_FLAGS) \
       
  2146         -D "JDK_FNAME=jli.dll" \
       
  2147         -D "JDK_INTERNAL_NAME=jli" \
       
  2148         -D "JDK_FTYPE=0x2L", \
       
  2149     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjli, \
       
  2150     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  2151 
       
  2152 BUILD_LIBRARIES += $(BUILD_LIBJLI)
       
  2153 
       
  2154 # On windows, the static library has the same suffix as the import library created by
       
  2155 # with the shared library, so the static library is given a different name. No harm
       
  2156 # in doing it for all platform to reduce complexity.
       
  2157 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  2158   $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC, \
       
  2159       STATIC_LIBRARY := jli_static, \
       
  2160       OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs, \
       
  2161       SRC := $(BUILD_LIBJLI_SRC_DIRS), \
       
  2162       INCLUDE_FILES := $(BUILD_LIBJLI_FILES), \
       
  2163       LANG := C, \
       
  2164       OPTIMIZATION := HIGH, \
       
  2165       CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS), \
       
  2166       ARFLAGS := $(ARFLAGS), \
       
  2167       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjli_static, \
       
  2168       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  2169 
       
  2170   BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
       
  2171 
       
  2172 else ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  2173   #
       
  2174   # On macosx they do partial (incremental) linking of libjli_static.a
       
  2175   # code it here...rather than add support to NativeCompilation
       
  2176   # as this is first time I see it
       
  2177   $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC, \
       
  2178       LIBRARY := jli_static, \
       
  2179       OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs, \
       
  2180       SRC := $(BUILD_LIBJLI_SRC_DIRS), \
       
  2181       INCLUDE_FILES := $(BUILD_LIBJLI_FILES), \
       
  2182       LANG := C, \
       
  2183       OPTIMIZATION := HIGH, \
       
  2184       CFLAGS := $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \
       
  2185       LDFLAGS := -nostdlib -r, \
       
  2186       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjli_static, \
       
  2187       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  2188 
       
  2189   $(JDK_OUTPUTDIR)/objs/libjli_static.a: $(BUILD_LIBJLI_STATIC)
       
  2190 	$(call install-file)
       
  2191 
       
  2192   BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
  2522 endif
  2193 endif
  2523 
  2194 
  2524 ##########################################################################################
  2195 ##########################################################################################
  2525 
  2196 
  2526 ifndef OPENJDK
  2197 ifndef OPENJDK
  2527 
  2198   ifeq ($(ENABLE_JFR), true)
  2528 LIBDCPR_SRC_DIRS:=\
  2199 
  2529 	$(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
  2200     $(eval $(call SetupNativeCompilation,BUILD_LIBJFR, \
  2530 	$(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
  2201         LIBRARY := jfr, \
  2531 	$(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
  2202         OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
  2532 	$(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
  2203         SRC := $(JDK_TOPDIR)/src/closed/share/native/oracle/jfr, \
  2533 
  2204         LANG := C, \
  2534 LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
  2205         OPTIMIZATION := LOW, \
  2535 	          -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
  2206         CFLAGS := $(CFLAGS_JDKLIB) \
  2536 
  2207             -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
  2537 $(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\
  2208         MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
  2538 		LIBRARY:=dcpr,\
  2209         LDFLAGS := $(LDFLAGS_JDKLIB) \
  2539                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
  2210             $(call SET_SHARED_LIBRARY_ORIGIN), \
  2540 		SRC:=$(LIBDCPR_SRC_DIRS),\
  2211         LDFLAGS_SUFFIX_solaris := -lc, \
  2541 		LANG:=C,\
  2212         VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
  2542 		OPTIMIZATION:=LOW, \
  2213         RC_FLAGS := $(RC_FLAGS) \
  2543 		CFLAGS:=$(CFLAGS_JDKLIB) \
  2214             -D "JDK_FNAME=jfr.dll" \
  2544 			$(LIBDCPR_CFLAGS), \
  2215             -D "JDK_INTERNAL_NAME=jfr" \
  2545 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
  2216             -D "JDK_FTYPE=0x2L", \
  2546 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
  2217         OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjfr, \
  2547 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
  2218         DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
  2548 		LDFLAGS_SUFFIX:=$(LIBM) $(LDFLAGS_JDKLIB_SUFFIX),\
  2219 
  2549 		LDFLAGS_SUFFIX_posix:=-lm,\
  2220     BUILD_LIBRARIES += $(BUILD_LIBJFR)
  2550 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
  2221 
  2551 		RC_FLAGS:=$(RC_FLAGS)\
  2222 endif
  2552 			  -D "JDK_FNAME=dcpr.dll" \
  2223 endif
  2553 			  -D "JDK_INTERNAL_NAME=dcpr" \
  2224 
  2554 			  -D "JDK_FTYPE=0x2L",\
  2225 ##########################################################################################
  2555 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr,\
  2226 
  2556 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
  2227 ifndef OPENJDK
  2557 
  2228 
  2558 $(BUILD_LIBDCPR) : $(BUILD_LIBJAVA)
  2229   BUILD_LIBKCMS_EXCLUDE_FILES :=
  2559 
       
  2560 BUILD_LIBRARIES += $(BUILD_LIBDCPR)
       
  2561 
       
  2562 endif
       
  2563 
       
  2564 ##########################################################################################
       
  2565 
       
  2566 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\
       
  2567 		LIBRARY:=j2pcsc,\
       
  2568                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  2569 		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
       
  2570                      $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio,\
       
  2571 		LANG:=C,\
       
  2572 		CFLAGS_posix:=-D__sun_jdk,\
       
  2573 		OPTIMIZATION:=LOW, \
       
  2574 		CFLAGS:=$(CFLAGS_JDKLIB) \
       
  2575                      -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
       
  2576                      -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio\
       
  2577                      -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE,\
       
  2578 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
       
  2579 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  2580 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  2581 		LDFLAGS_SUFFIX_posix:=$(LIBDL), \
       
  2582 		LDFLAGS_SUFFIX_windows:=winscard.lib,\
       
  2583 		LDFLAGS_SUFFIX_solaris:=-lc,\
       
  2584 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  2585 		RC_FLAGS:=$(RC_FLAGS)\
       
  2586 			  -D "JDK_FNAME=j2pcsc.dll" \
       
  2587 			  -D "JDK_INTERNAL_NAME=j2pcsc" \
       
  2588 			  -D "JDK_FTYPE=0x2L",\
       
  2589 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\
       
  2590 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  2591 
       
  2592 BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC)
       
  2593 
       
  2594 ##########################################################################################
       
  2595 
       
  2596 ifneq ($(OPENJDK_TARGET_OS), windows)
       
  2597 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\
       
  2598 		LIBRARY:=j2gss,\
       
  2599                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  2600 		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
       
  2601                      $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
       
  2602 		LANG:=C,\
       
  2603 		OPTIMIZATION:=LOW, \
       
  2604 		CFLAGS:=$(CFLAGS_JDKLIB) \
       
  2605                      -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
       
  2606                      -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
       
  2607 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
       
  2608 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  2609 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  2610 		LDFLAGS_SUFFIX:=$(LIBDL),\
       
  2611 		LDFLAGS_SUFFIX_solaris:=-lc,\
       
  2612 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss,\
       
  2613 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  2614 
       
  2615 BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
       
  2616 endif
       
  2617 
       
  2618 ##########################################################################################
       
  2619 
       
  2620 ifneq ($(BUILD_CRYPTO),no)
       
  2621   BUILD_LIBKRB5_NAME:=
       
  2622   ifeq ($(OPENJDK_TARGET_OS), windows)
  2230   ifeq ($(OPENJDK_TARGET_OS), windows)
  2623      BUILD_LIBKRB5_NAME:=w2k_lsa_auth
  2231     BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
  2624      BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5
  2232   else
  2625      BUILD_LIBKRB5_LIBS:=advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \
  2233     BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
  2626 			 gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \
  2234   endif
  2627 			 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib
  2235 
  2628   else ifeq ($(OPENJDK_TARGET_OS), macosx)
  2236   BUILD_LIBKCMS_FLAGS := $(CFLAGS_JDKLIB)
  2629      BUILD_LIBKRB5_NAME:=osxkrb5
  2237 
  2630      BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5
  2238   ifeq ($(OPENJDK_TARGET_OS), solaris)
  2631      BUILD_LIBKRB5_LIBS:=-framework Kerberos
  2239     # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
  2632   endif
  2240     # implement it like this...since it's only used here
  2633 
  2241     BUILD_LIBKCMS_FLAGS := $(patsubst -KPIC, -Kpic, $(BUILD_LIBKCMS_FLAGS))
  2634   ifneq ($(BUILD_LIBKRB5_NAME),)
  2242   else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
  2635     $(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\
  2243     BUILD_LIBKCMS_FLAGS := $(patsubst -fPIC, -fpic, $(BUILD_LIBKCMS_FLAGS))
  2636 		LIBRARY:=$(BUILD_LIBKRB5_NAME),\
  2244   endif
  2637                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
  2245 
  2638 		SRC:=$(BUILD_LIBKRB5_SRC),\
  2246   $(eval $(call SetupNativeCompilation,BUILD_LIBKCMS, \
  2639 		LANG:=C,\
  2247       LIBRARY := kcms, \
  2640 		OPTIMIZATION:=LOW, \
  2248       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
  2641 		CFLAGS:=$(CFLAGS_JDKLIB) \
  2249       SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms, \
  2642 		        -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
  2250       LANG := C, \
  2643                         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 ,\
  2251       EXCLUDE_FILES := $(BUILD_LIBKCMS_EXCLUDE_FILES), \
  2644 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
  2252       OPTIMIZATION := LOW, \
  2645 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
  2253       CFLAGS := $(BUILD_LIBKCMS_FLAGS) \
  2646 		LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\
  2254           -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST, \
  2647 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
  2255       CFLAGS_linux := -Wno-missing-field-initializers, \
  2648 		RC_FLAGS:=$(RC_FLAGS)\
  2256       MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
  2649 			  -D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \
  2257       LDFLAGS := $(LDFLAGS_JDKLIB) \
  2650 			  -D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \
  2258           $(call SET_SHARED_LIBRARY_ORIGIN), \
  2651 			  -D "JDK_FTYPE=0x2L",\
  2259       LDFLAGS_SUFFIX_linux := -lc -lpthread, \
  2652 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5,\
  2260       LDFLAGS_SUFFIX_solaris := -lc, \
  2653 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
  2261       LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
  2654 
  2262       LDFLAGS_SUFFIX_posix := -lm -ljava -ljvm, \
  2655     BUILD_LIBRARIES += $(BUILD_LIBKRB5)
  2263       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc, \
  2656   endif
  2264       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc, \
  2657 endif
  2265       RC_FLAGS := $(RC_FLAGS) \
  2658 
  2266           -D "JDK_FNAME=kcms.dll" \
  2659 ##########################################################################################
  2267           -D "JDK_INTERNAL_NAME=kcms" \
  2660 
  2268           -D "JDK_FTYPE=0x2L", \
  2661 ifeq ($(OPENJDK_TARGET_OS), windows)
  2269       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libkcms, \
  2662 
  2270       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
  2663 $(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\
  2271 
  2664 		LIBRARY:=sunmscapi,\
  2272   $(BUILD_LIBKCMS): $(BUILD_LIBJAVA)
  2665                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
  2273 
  2666 		SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi,\
  2274   BUILD_LIBRARIES += $(BUILD_LIBKCMS)
  2667 		LANG:=C++,\
  2275 
  2668 		OPTIMIZATION:=LOW, \
  2276 endif
  2669 		CFLAGS:=$(CFLAGS_JDKLIB) \
  2277 
  2670                         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi ,\
  2278 ##########################################################################################
  2671 		LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
  2279 
  2672 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  2673 		LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\
       
  2674 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  2675 		RC_FLAGS:=$(RC_FLAGS)\
       
  2676 			  -D "JDK_FNAME=sunmscapi.dll" \
       
  2677 			  -D "JDK_INTERNAL_NAME=sunmscapi" \
       
  2678 			  -D "JDK_FTYPE=0x2L",\
       
  2679 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\
       
  2680 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  2681 
       
  2682 BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI)
       
  2683 endif
       
  2684 
       
  2685 ##########################################################################################
       
  2686 
       
  2687 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\
       
  2688 		LIBRARY:=j2pkcs11,\
       
  2689                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  2690 		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
       
  2691                      $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
       
  2692                      $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
       
  2693                      $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
       
  2694 		LANG:=C,\
       
  2695 		OPTIMIZATION:=LOW, \
       
  2696 		CFLAGS:=$(CFLAGS_JDKLIB) \
       
  2697 		        -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
       
  2698 		        -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
       
  2699 		        -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
       
  2700                         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
       
  2701 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
       
  2702 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
       
  2703 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  2704 		LDFLAGS_SUFFIX_posix:=$(LIBDL),\
       
  2705 		LDFLAGS_SUFFIX_solaris:=-lc,\
       
  2706 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  2707 		RC_FLAGS:=$(RC_FLAGS)\
       
  2708 			  -D "JDK_FNAME=j2pkcs11.dll" \
       
  2709 			  -D "JDK_INTERNAL_NAME=j2pkcs11" \
       
  2710 			  -D "JDK_FTYPE=0x2L",\
       
  2711 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\
       
  2712 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  2713 
       
  2714 BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11)
       
  2715 
       
  2716 ##########################################################################################
       
  2717 
       
  2718 ifeq ($(ENABLE_INTREE_EC),yes)
       
  2719 
       
  2720 BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
       
  2721                        -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
       
  2722 
       
  2723 #
       
  2724 # On sol-sparc...all libraries are compiled with -xregs=no%appl
       
  2725 #   (set in CFLAGS_REQUIRED_sparc)
       
  2726 #
       
  2727 # except!!! libsunec.so
       
  2728 #
       
  2729 ECC_JNI_SOLSPARC_FILTER:=
       
  2730 ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
       
  2731      ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl
       
  2732 endif
       
  2733 
       
  2734 $(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\
       
  2735 		LIBRARY:=sunec,\
       
  2736                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  2737 		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \
       
  2738                      $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
       
  2739 		LANG:=C++, \
       
  2740 		OPTIMIZATION:=LOW, \
       
  2741 		CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\
       
  2742                         $(BUILD_LIBSUNEC_FLAGS) \
       
  2743                         -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\
       
  2744 		CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
       
  2745                           $(BUILD_LIBSUNEC_FLAGS),\
       
  2746 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
       
  2747 		LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK),\
       
  2748 		LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN),\
       
  2749 		LDFLAGS_SUFFIX:=$(LIBCXX),\
       
  2750                 LDFLAGS_SUFFIX_linux:=-lc ,\
       
  2751                 LDFLAGS_SUFFIX_solaris:=-lc ,\
       
  2752 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  2753 		RC_FLAGS:=$(RC_FLAGS)\
       
  2754 			  -D "JDK_FNAME=sunec.dll" \
       
  2755 			  -D "JDK_INTERNAL_NAME=sunec" \
       
  2756 			  -D "JDK_FTYPE=0x2L",\
       
  2757 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec,\
       
  2758 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  2759 
       
  2760 BUILD_LIBRARIES += $(BUILD_LIBSUNEC)
       
  2761 endif
       
  2762 
       
  2763 ##########################################################################################
       
  2764 
       
  2765 LIBJSOUND_SRC_DIRS:=\
       
  2766 	$(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
       
  2767 	$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/media/sound
       
  2768 
       
  2769 LIBJSOUND_SRC_FILES:=Utilities.c Platform.c
       
  2770 
       
  2771 LIBJSOUND_LANG:=C
       
  2772 LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
       
  2773 
       
  2774 EXTRA_SOUND_JNI_LIBS:=
       
  2775 
       
  2776 LIBJSOUND_MIDIFILES:=\
       
  2777 	MidiInDevice.c \
       
  2778 	MidiInDeviceProvider.c \
       
  2779 	MidiOutDevice.c \
       
  2780 	MidiOutDeviceProvider.c \
       
  2781 	PlatformMidi.c
       
  2782 
       
  2783 # files needed for ports
       
  2784 LIBJSOUND_PORTFILES:=\
       
  2785 	PortMixerProvider.c \
       
  2786 	PortMixer.c
       
  2787 
       
  2788 # files needed for direct audio
       
  2789 LIBJSOUND_DAUDIOFILES:=\
       
  2790 	DirectAudioDeviceProvider.c \
       
  2791 	DirectAudioDevice.c
       
  2792 
       
  2793 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  2794 	EXTRA_SOUND_JNI_LIBS += jsoundds
       
  2795 	LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
       
  2796                             -DUSE_PLATFORM_MIDI_OUT=TRUE \
       
  2797                             -DUSE_PLATFORM_MIDI_IN=TRUE \
       
  2798                             -DUSE_PORTS=TRUE
       
  2799 	LIBJSOUND_SRC_FILES += \
       
  2800 		PLATFORM_API_WinOS_MidiIn.cpp \
       
  2801 		PLATFORM_API_WinOS_MidiOut.c \
       
  2802 		PLATFORM_API_WinOS_Util.c \
       
  2803 		PLATFORM_API_WinOS_Ports.c
       
  2804 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
       
  2805 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
       
  2806 endif # OPENJDK_TARGET_OS windows
       
  2807 
       
  2808 ifeq ($(OPENJDK_TARGET_OS), linux)
       
  2809 	EXTRA_SOUND_JNI_LIBS += jsoundalsa
       
  2810 	LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
       
  2811 endif # OPENJDK_TARGET_OS linux
       
  2812 
       
  2813 ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  2814 	LIBJSOUND_LANG:=C++
       
  2815 	LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
       
  2816                             -DUSE_PORTS=TRUE \
       
  2817                             -DUSE_DAUDIO=TRUE \
       
  2818                             -DUSE_PLATFORM_MIDI_OUT=TRUE \
       
  2819                             -DUSE_PLATFORM_MIDI_IN=TRUE
       
  2820 	LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
       
  2821 	LIBJSOUND_SRC_FILES += \
       
  2822 		PLATFORM_API_MacOSX_Utils.cpp \
       
  2823 		PLATFORM_API_MacOSX_PCM.cpp \
       
  2824 		PLATFORM_API_MacOSX_Ports.cpp \
       
  2825                 PLATFORM_API_MacOSX_MidiIn.c \
       
  2826                 PLATFORM_API_MacOSX_MidiOut.c \
       
  2827                 PLATFORM_API_MacOSX_MidiUtils.c
       
  2828 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
       
  2829 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
       
  2830 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
       
  2831 endif # OPENJDK_TARGET_OS macosx
       
  2832 
       
  2833 ifeq ($(OPENJDK_TARGET_OS), solaris)
       
  2834 	LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
       
  2835                             -DUSE_PORTS=TRUE \
       
  2836                             -DUSE_DAUDIO=TRUE
       
  2837 	LIBJSOUND_SRC_FILES += \
       
  2838 		PLATFORM_API_SolarisOS_Utils.c \
       
  2839 		PLATFORM_API_SolarisOS_Ports.c \
       
  2840 		PLATFORM_API_SolarisOS_PCM.c
       
  2841 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
       
  2842 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
       
  2843 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
       
  2844 endif # OPENJDK_TARGET_OS solaris
       
  2845 
       
  2846 
       
  2847 ifeq ($(JVM_VARIANT_ZERO), true)
       
  2848 	LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO
       
  2849 else
       
  2850   ifeq ($(OPENJDK_TARGET_CPU), x86)
       
  2851 	LIBJSOUND_CFLAGS += -DX_ARCH=X_I586
       
  2852   endif
       
  2853 
       
  2854   ifeq ($(OPENJDK_TARGET_CPU), sparc)
       
  2855 	LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC
       
  2856   endif
       
  2857 
       
  2858   ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
       
  2859 	LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9
       
  2860   endif
       
  2861 
       
  2862   ifeq ($(OPENJDK_TARGET_CPU), x86_64)
       
  2863 	LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64
       
  2864   endif
       
  2865 
       
  2866   ifeq ($(OPENJDK_TARGET_CPU), arm)
       
  2867 	LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM
       
  2868   endif
       
  2869 
       
  2870   ifeq ($(OPENJDK_TARGET_CPU), ppc)
       
  2871 	LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC
       
  2872   endif
       
  2873 endif
       
  2874 
       
  2875 LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
       
  2876 
       
  2877 $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\
       
  2878 		LIBRARY:=jsound,\
       
  2879                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  2880 		SRC:=$(LIBJSOUND_SRC_DIRS),\
       
  2881 		INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\
       
  2882 		LANG:=$(LIBJSOUND_LANG),\
       
  2883 		OPTIMIZATION:=LOW, \
       
  2884 		CFLAGS:=$(CFLAGS_JDKLIB) \
       
  2885 		        $(LIBJSOUND_CFLAGS), \
       
  2886 		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
       
  2887 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
       
  2888 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
       
  2889 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  2890 		LDFLAGS_macosx:=-framework CoreAudio -framework CoreFoundation \
       
  2891 				-framework CoreServices -framework AudioUnit $(LIBCXX) \
       
  2892 				-framework CoreMIDI -framework AudioToolbox,\
       
  2893 		LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\
       
  2894 		LDFLAGS_SUFFIX_posix:=-ljava -ljvm,\
       
  2895 		LDFLAGS_SUFFIX_solaris:=-lc ,\
       
  2896 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  2897 		RC_FLAGS:=$(RC_FLAGS)\
       
  2898 			  -D "JDK_FNAME=jsound.dll" \
       
  2899 			  -D "JDK_INTERNAL_NAME=jsound" \
       
  2900 			  -D "JDK_FTYPE=0x2L",\
       
  2901 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound,\
       
  2902 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  2903 
       
  2904 $(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA)
       
  2905 
       
  2906 BUILD_LIBRARIES += $(BUILD_LIBJSOUND)
       
  2907 
       
  2908 ##########################################################################################
       
  2909 
       
  2910 ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),)
       
  2911 
       
  2912 $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\
       
  2913 		LIBRARY:=jsoundalsa,\
       
  2914                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  2915 		SRC:=$(LIBJSOUND_SRC_DIRS),\
       
  2916 		INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
       
  2917                                 $(LIBJSOUND_DAUDIOFILES) \
       
  2918 				PLATFORM_API_LinuxOS_ALSA_CommonUtils.c   \
       
  2919 				PLATFORM_API_LinuxOS_ALSA_PCM.c     \
       
  2920 				PLATFORM_API_LinuxOS_ALSA_PCMUtils.c   \
       
  2921 				PLATFORM_API_LinuxOS_ALSA_MidiIn.c  \
       
  2922 				PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
       
  2923 				PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
       
  2924 				PLATFORM_API_LinuxOS_ALSA_Ports.c,\
       
  2925 		LANG:=C,\
       
  2926 		OPTIMIZATION:=LOW, \
       
  2927 		CFLAGS:=$(CFLAGS_JDKLIB) $(ALSA_CFLAGS) \
       
  2928 			$(LIBJSOUND_CFLAGS) \
       
  2929 			-DUSE_DAUDIO=TRUE \
       
  2930 			-DUSE_PORTS=TRUE  \
       
  2931 			-DUSE_PLATFORM_MIDI_OUT=TRUE \
       
  2932 			-DUSE_PLATFORM_MIDI_IN=TRUE, \
       
  2933 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
       
  2934 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
       
  2935 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  2936 		LDFLAGS_SUFFIX:=$(ALSA_LIBS) -ljava -ljvm,\
       
  2937 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa,\
       
  2938 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  2939 
       
  2940 $(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA)
       
  2941 
       
  2942 BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA)
       
  2943 
       
  2944 endif
       
  2945 
       
  2946 ##########################################################################################
       
  2947 
       
  2948 ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),)
       
  2949 
       
  2950 $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\
       
  2951 		LIBRARY:=jsoundds,\
       
  2952                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  2953 		SRC:=$(LIBJSOUND_SRC_DIRS),\
       
  2954 		INCLUDE_FILES:=Utilities.c $(LIBJSOUND_DAUDIOFILES) \
       
  2955 				PLATFORM_API_WinOS_DirectSound.cpp, \
       
  2956 		LANG:=C++,\
       
  2957 		OPTIMIZATION:=LOW, \
       
  2958 		CFLAGS:=$(CFLAGS_JDKLIB) \
       
  2959 			$(LIBJSOUND_CFLAGS) \
       
  2960 			-DUSE_DAUDIO=TRUE, \
       
  2961 		LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
       
  2962 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
       
  2963 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\
       
  2964 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
  2965 		RC_FLAGS:=$(RC_FLAGS)\
       
  2966 			  -D "JDK_FNAME=jsoundds.dll" \
       
  2967 			  -D "JDK_INTERNAL_NAME=jsoundds" \
       
  2968 			  -D "JDK_FTYPE=0x2L",\
       
  2969 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\
       
  2970 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  2971 
       
  2972 $(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA)
       
  2973 
       
  2974 BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS)
       
  2975 
       
  2976 endif
       
  2977 
       
  2978 ##########################################################################################
       
  2979 
       
  2980 ifeq ($(OPENJDK_TARGET_OS), solaris)
       
  2981 ifndef OPENJDK
  2280 ifndef OPENJDK
  2982 
  2281   ifeq ($(OPENJDK_TARGET_OS), solaris)
  2983 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\
  2282     ifneq ($(OPENJDK_TARGET_CPU), x86_64)
  2984 		LIBRARY:=j2ucrypto,\
  2283 
  2985                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
  2284       ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
  2986 		SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\
  2285 
  2987 		LANG:=C,\
  2286         SUNWJDGA_MAPFILE :=
  2988 		OPTIMIZATION:=LOW, \
  2287         ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
  2989 		CFLAGS:=$(CFLAGS_JDKLIB) \
  2288           SUNWJDGA_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
  2990 			-I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\
  2289         endif
  2991 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
  2290 
  2992 		LDFLAGS:=$(LDFLAGS_JDKLIB),\
  2291         $(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
  2993 		LDFLAGS_SUFFIX:=$(LIBDL),\
  2292             LIBRARY := sunwjdga, \
  2994 		LDFLAGS_SUFFIX_solaris:=-lc,\
  2293             OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
  2995 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto,\
  2294             SRC := $(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
  2996 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
  2295             LANG := C, \
  2997 
  2296             OPTIMIZATION := LOW, \
  2998 $(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA)
  2297             CFLAGS := $(CFLAGS_JDKLIB) \
  2999 
  2298                 -I$(JDK_TOPDIR)/src/share/javavm/export \
  3000 BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO)
  2299                 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \
  3001 
  2300                 -I$(OPENWIN_HOME)/include, \
  3002 endif
  2301             MAPFILE := $(SUNWJDGA_MAPFILE), \
  3003 endif
  2302             LDFLAGS := $(LDFLAGS_JDKLIB) \
  3004 
  2303                 $(call SET_SHARED_LIBRARY_ORIGIN), \
  3005 ##########################################################################################
  2304             LDFLAGS_SUFFIX := -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -ldga -lX11 $(LIBDL) -lc, \
  3006 
  2305             OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsunwjdga, \
  3007 ifeq ($(OPENJDK_TARGET_OS), macosx)
  2306             DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
  3008 
  2307 
  3009 $(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\
  2308         BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
  3010 		LIBRARY:=AppleScriptEngine,\
  2309 
  3011                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
  2310       endif
  3012 		SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\
  2311     endif
  3013 		LANG:=C,\
  2312   endif
  3014 		OPTIMIZATION:=LOW, \
  2313 endif
  3015 		CFLAGS:=$(CFLAGS_JDKLIB) \
  2314 
  3016 			-I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
  2315 ##########################################################################################
  3017 			-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
  2316 
  3018                         -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
  2317 ifeq ($(BUILD_HEADLESS), true)
  3019 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
  2318   ifneq ($(OPENJDK_TARGET_OS), windows)
  3020 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
  2319 
  3021 		LDFLAGS_SUFFIX:=-framework Cocoa \
  2320     LIBAWT_HEADLESS_DIRS := $(JDK_TOPDIR)/src/share/native/sun/font \
  3022                                 -framework Carbon \
  2321         $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
  3023                                 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
  2322         $(JDK_TOPDIR)/src/solaris/native/sun/font \
  3024                                 -framework JavaNativeFoundation \
  2323         $(JDK_TOPDIR)/src/solaris/native/sun/awt \
  3025                                 $(LDFLAGS_JDKLIB_SUFFIX),\
  2324         $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
  3026 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine,\
  2325         $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
  3027 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
  2326 
  3028 
  2327     ifeq ($(OPENJDK_TARGET_OS), macosx)
  3029 $(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA)
  2328       LIBAWT_HEADLESS_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/font
  3030 
  2329     endif
  3031 BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
  2330 
  3032 
  2331     LIBAWT_HEADLESS_CFLAGS := -DHEADLESS=true \
  3033 endif
  2332         -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
  3034 
  2333         $(CUPS_CFLAGS) \
  3035 ##########################################################################################
  2334         $(X_CFLAGS) \
  3036 
  2335         -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
  3037 ifeq ($(OPENJDK_TARGET_OS), macosx)
  2336         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
  3038 
  2337         -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
  3039 $(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\
  2338         -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
  3040 		LIBRARY:=osxapp,\
  2339         -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
  3041                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
  2340         -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
  3042 		SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\
  2341         -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
  3043 		LANG:=C,\
  2342         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \
  3044 		OPTIMIZATION:=LOW, \
  2343         $(foreach dir, $(LIBAWT_HEADLESS_DIRS), -I$(dir))
  3045 		CFLAGS:=$(CFLAGS_JDKLIB) \
  2344 
  3046 			-I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
  2345     ifeq ($(OPENJDK_TARGET_OS), macosx)
  3047 			-I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \
  2346       LIBAWT_HEADLESS_CFLAGS += \
  3048                         -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
  2347           -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
  3049                         -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
  2348           -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks
  3050 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
  2349     endif
  3051 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
  2350 
  3052 		LDFLAGS_SUFFIX_macosx:=\
  2351     LIBAWT_HEADLESS_FILES := \
  3053 	-framework Accelerate \
  2352         awt_Font.c \
  3054 	-framework ApplicationServices \
  2353         HeadlessToolkit.c \
  3055 	-framework AudioToolbox \
  2354         fontpath.c \
  3056 	-framework Carbon \
  2355         VDrawingArea.c \
  3057 	-framework Cocoa \
  2356         X11Color.c \
  3058 	-framework Security \
  2357         X11Renderer.c \
  3059 	-framework ExceptionHandling \
  2358         X11PMBlitLoops.c \
  3060         -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
  2359         X11SurfaceData.c \
  3061 	-framework JavaNativeFoundation \
  2360         X11FontScaler_md.c \
  3062 	-framework JavaRuntimeSupport \
  2361         X11TextRenderer_md.c \
  3063 	-framework OpenGL \
       
  3064 	-framework IOSurface \
       
  3065 	-framework QuartzCore, \
       
  3066 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp,\
       
  3067 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  3068 
       
  3069 BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
       
  3070 
       
  3071 endif
       
  3072 
       
  3073 ##########################################################################################
       
  3074 
       
  3075 ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  3076 
       
  3077 LIBOSX_DIRS:=\
       
  3078   $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
       
  3079   $(JDK_TOPDIR)/src/macosx/native/java/util \
       
  3080   $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
       
  3081   $(JDK_TOPDIR)/src/macosx/native/apple/security \
       
  3082   $(JDK_TOPDIR)/src/macosx/native/apple/launcher
       
  3083 
       
  3084 $(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\
       
  3085 		LIBRARY:=osx,\
       
  3086                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
       
  3087 		SRC:=$(LIBOSX_DIRS),\
       
  3088 		LANG:=C,\
       
  3089 		OPTIMIZATION:=LOW, \
       
  3090 		CFLAGS:=$(CFLAGS_JDKLIB) \
       
  3091                         $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \
       
  3092                         -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
       
  3093                         -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
       
  3094                         -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
       
  3095 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
       
  3096 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  3097 		LDFLAGS_SUFFIX_macosx:=\
       
  3098     -losxapp \
       
  3099     -framework Cocoa \
       
  3100     -framework ApplicationServices \
       
  3101     -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
       
  3102     -framework JavaNativeFoundation \
       
  3103     -framework JavaRuntimeSupport \
       
  3104     -framework Security \
       
  3105     -framework SystemConfiguration \
       
  3106     $(LDFLAGS_JDKLIB_SUFFIX), \
       
  3107 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx,\
       
  3108 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
       
  3109 
       
  3110 BUILD_LIBRARIES += $(BUILD_LIBOSX)
       
  3111 
       
  3112 $(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP)
       
  3113 
       
  3114 $(BUILD_LIBOSX) : $(BUILD_LIBJAVA)
       
  3115 
       
  3116 endif
       
  3117 
       
  3118 ##########################################################################################
       
  3119 
       
  3120 ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  3121 
       
  3122 LIBAWT_LWAWT_FILES:=\
       
  3123         awt.m \
       
  3124         ApplicationDelegate.m \
       
  3125         CFRetainedResource.m \
       
  3126         CGLGraphicsConfig.m \
       
  3127         CGLSurfaceData.m \
       
  3128         CGLLayer.m \
       
  3129         CGraphicsConfig.m \
       
  3130         CGraphicsDevice.m \
       
  3131         CGraphicsEnv.m \
       
  3132         CCharToGlyphMapper.m \
       
  3133         CSystemColors.m \
       
  3134         AWTFont.m \
       
  3135         CGGlyphOutlines.m \
       
  3136         CGGlyphImages.m \
       
  3137         CoreTextSupport.m \
       
  3138         AWTStrike.m \
       
  3139         InitIDs.m \
       
  3140         AWTEvent.m \
       
  3141         AWTView.m \
       
  3142         AWTWindow.m \
       
  3143         AWTSurfaceLayers.m \
       
  3144         CCursorManager.m \
       
  3145         CClipboard.m \
       
  3146         CDataTransferer.m \
       
  3147         CDragSource.m \
       
  3148         CDragSourceContextPeer.m \
       
  3149         CDropTarget.m \
       
  3150         CDropTargetContextPeer.m \
       
  3151         CInputMethod.m \
       
  3152         CDesktopPeer.m \
       
  3153         OSVersion.m \
       
  3154         DnDUtilities.m \
       
  3155         CFileDialog.m \
       
  3156         CImage.m \
       
  3157         CMenu.m \
       
  3158         CMenuBar.m \
       
  3159         CMenuComponent.m \
       
  3160         CMenuItem.m \
       
  3161         CPopupMenu.m \
       
  3162         CRobot.m \
       
  3163         CTrayIcon.m \
       
  3164         CWrapper.m \
       
  3165         JavaAccessibilityAction.m \
       
  3166         JavaAccessibilityUtilities.m \
       
  3167         JavaComponentAccessibility.m \
       
  3168         JavaTextAccessibility.m \
       
  3169         LWCToolkit.m \
       
  3170         GeomUtilities.m \
       
  3171         CPrinterJob.m \
       
  3172         PrintModel.m \
       
  3173         PrinterSurfaceData.m \
       
  3174         PrinterView.m \
       
  3175         QuartzSurfaceData.m \
       
  3176         QuartzRenderer.m \
       
  3177         CTextPipe.m \
       
  3178         ImageSurfaceData.m \
       
  3179         awt_DrawingSurface.m \
       
  3180         \
       
  3181         OGLBlitLoops.c \
  2362         OGLBlitLoops.c \
  3182         OGLBufImgOps.c \
  2363         OGLBufImgOps.c \
  3183         OGLContext.c \
  2364         OGLContext.c \
  3184         OGLFuncs.c \
  2365         OGLFuncs.c \
  3185         OGLMaskBlit.c \
  2366         OGLMaskBlit.c \
  3188         OGLRenderQueue.c \
  2369         OGLRenderQueue.c \
  3189         OGLRenderer.c \
  2370         OGLRenderer.c \
  3190         OGLSurfaceData.c \
  2371         OGLSurfaceData.c \
  3191         OGLTextRenderer.c \
  2372         OGLTextRenderer.c \
  3192         OGLVertexCache.c \
  2373         OGLVertexCache.c \
       
  2374         GLXGraphicsConfig.c \
       
  2375         GLXSurfaceData.c \
  3193         AccelGlyphCache.c \
  2376         AccelGlyphCache.c \
  3194         CUPSfuncs.c
  2377         CUPSfuncs.c
  3195 
  2378 
  3196 
  2379     ifeq ($(OPENJDK_TARGET_OS), macosx)
  3197 LIBAWT_LWAWT_DIRS:=\
  2380       LIBAWT_HEADLESS_FILES += \
  3198   $(JDK_TOPDIR)/src/macosx/native/sun/awt \
  2381           AWTFont.m \
  3199   $(JDK_TOPDIR)/src/macosx/native/sun/font \
  2382           AWTStrike.m \
  3200   $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
  2383           CCharToGlyphMapper.m \
  3201   $(JDK_TOPDIR)/src/solaris/native/sun/awt \
  2384           CGGlyphImages.m \
  3202   $(JDK_TOPDIR)/src/share/native/sun/font \
  2385           CGGlyphOutlines.m \
  3203   $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
  2386           CoreTextSupport.m
  3204 
  2387     endif
  3205 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\
  2388 
  3206 		LIBRARY:=awt_lwawt,\
  2389     LIBAWT_HEADLESS_REORDER :=
  3207                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
  2390     ifeq ($(OPENJDK_TARGET_OS), solaris)
  3208 		SRC:=$(LIBAWT_LWAWT_DIRS),\
  2391       ifneq ($(OPENJDK_TARGET_CPU), x86_64)
  3209 		LANG:=C,\
  2392         LIBAWT_HEADLESS_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
  3210 		INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\
  2393       endif
  3211 		OPTIMIZATION:=LOW, \
  2394     endif
  3212 		CFLAGS:=$(CFLAGS_JDKLIB) \
  2395 
  3213                         $(X_CFLAGS) \
  2396     $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS, \
  3214                         $(X_LIBS) \
  2397         LIBRARY := awt_headless, \
  3215                         $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \
  2398         OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
  3216                         -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
  2399         SRC := $(LIBAWT_HEADLESS_DIRS), \
  3217                         -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
  2400         INCLUDE_FILES := $(LIBAWT_HEADLESS_FILES), \
  3218                         -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
  2401         LANG := C, \
  3219                         -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
  2402         OPTIMIZATION := LOW, \
  3220                         -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
  2403         CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS), \
  3221                         -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
  2404         MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers, \
  3222                         -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
  2405         LDFLAGS := $(LDFLAGS_JDKLIB) \
  3223                         -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
  2406             $(call SET_SHARED_LIBRARY_ORIGIN), \
  3224                         -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
  2407         LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
  3225                         -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
  2408         LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..) \
  3226 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
  2409             -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
  3227 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
  2410             -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \
  3228 		LDFLAGS_SUFFIX_macosx:=-lawt -lmlib_image -losxapp -ljvm $(LIBM) \
  2411         LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN)., \
  3229 				       -framework Accelerate \
  2412         REORDER := $(LIBAWT_HEADLESS_REORDER), \
  3230 				       -framework ApplicationServices \
  2413         LDFLAGS_SUFFIX_linux := -ljvm -lawt -lm $(LIBDL) -ljava, \
  3231 				       -framework AudioToolbox \
  2414         LDFLAGS_SUFFIX_solaris := $(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc, \
  3232 				       -framework Carbon \
  2415         LDFLAGS_SUFFIX_macosx := -ljvm $(LIBCXX) -lawt $(LIBDL) -ljava \
  3233 				       -framework Cocoa \
  2416             -framework Accelerate \
  3234 				       -framework Security \
  2417             -framework ApplicationServices \
  3235 				       -framework ExceptionHandling \
  2418             -framework Cocoa \
  3236 				       -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
  2419             -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
  3237 				       -framework JavaNativeFoundation \
  2420             -framework JavaNativeFoundation \
  3238 				       -framework JavaRuntimeSupport \
  2421             -framework JavaRuntimeSupport, \
  3239 				       -framework OpenGL \
  2422         OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_headless, \
  3240 				       -framework QuartzCore -ljava,\
  2423         DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
  3241 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt,\
  2424 
  3242 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
  2425     $(BUILD_LIBAWT_HEADLESS): $(BUILD_LIBAWT)
  3243 
  2426 
  3244 BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
  2427     BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
  3245 
  2428 
  3246 $(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT)
  2429   endif
  3247 
  2430 endif
  3248 $(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE)
  2431 
  3249 
  2432 ##########################################################################################
  3250 $(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP)
  2433 
  3251 
  2434 ifndef BUILD_HEADLESS_ONLY
  3252 $(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA)
  2435   LIBSPLASHSCREEN_DIRS := \
  3253 
  2436     $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
  3254 endif
  2437     $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
  3255 
  2438     $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
  3256 ##########################################################################################
  2439 
       
  2440   ifeq ($(USE_EXTERNAL_LIBGIF), true)
       
  2441     GIFLIB_LDFLAGS := -lgif
       
  2442   else
       
  2443     LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/giflib
       
  2444     GIFLIB_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/giflib
       
  2445   endif
       
  2446 
       
  2447   ifneq ($(OPENJDK_TARGET_OS), macosx)
       
  2448     LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
       
  2449   else
       
  2450     LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
       
  2451   endif
       
  2452 
       
  2453   LIBSPLASHSCREEN_CFLAGS := -DSPLASHSCREEN -DPNG_NO_MMX_CODE \
       
  2454       $(foreach dir, $(LIBSPLASHSCREEN_DIRS), -I$(dir))
       
  2455 
       
  2456   ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  2457     LIBSPLASHSCREEN_CFLAGS := -I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
       
  2458         $(LIBSPLASHSCREEN_CFLAGS) \
       
  2459         -F/System/Library/Frameworks/JavaVM.framework/Frameworks
       
  2460     LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
       
  2461     LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
       
  2462 
       
  2463     LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS := -x objective-c -O0
       
  2464     LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS := -x objective-c -O0
       
  2465     LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS := -x objective-c -O0
       
  2466     LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS := -x objective-c -O0
       
  2467     LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS := -x objective-c -O0
       
  2468     LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS := -x objective-c -O0
       
  2469     LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS := -O0
       
  2470 
       
  2471   else ifneq ($(OPENJDK_TARGET_OS), windows)
       
  2472     LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
       
  2473   else
       
  2474     LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
       
  2475   endif
       
  2476 
       
  2477   LIBSPLASHSCREEN_LDFLAGS_SUFFIX :=
       
  2478 
       
  2479   ifneq ($(USE_EXTERNAL_LIBZ), true)
       
  2480     LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
       
  2481     LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS)
       
  2482   endif
       
  2483 
       
  2484   ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  2485     LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
       
  2486         -framework ApplicationServices \
       
  2487         -framework Foundation \
       
  2488         -framework Cocoa \
       
  2489         -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
       
  2490         -framework JavaNativeFoundation
       
  2491   else ifneq ($(OPENJDK_TARGET_OS), windows)
       
  2492     LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
       
  2493   else # OPENJDK_TARGET_OS
       
  2494     LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
       
  2495   endif # OPENJDK_TARGET_OS
       
  2496 
       
  2497   $(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN, \
       
  2498       LIBRARY := splashscreen, \
       
  2499       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  2500       SRC := $(LIBSPLASHSCREEN_DIRS), \
       
  2501       EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
       
  2502       LANG := C, \
       
  2503       OPTIMIZATION := LOW, \
       
  2504       CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS), \
       
  2505       MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
       
  2506       LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  2507           $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  2508       LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS), \
       
  2509       LDFLAGS_SUFFIX_solaris := -lc, \
       
  2510       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  2511       RC_FLAGS := $(RC_FLAGS) \
       
  2512           -D "JDK_FNAME=splashscreen.dll" \
       
  2513           -D "JDK_INTERNAL_NAME=splashscreen" \
       
  2514           -D "JDK_FTYPE=0x2L", \
       
  2515       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsplashscreen, \
       
  2516       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  2517 
       
  2518   BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
       
  2519 
       
  2520   ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  2521     $(LIBSPLASHSCREEN): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
       
  2522   endif
       
  2523 
       
  2524 endif
       
  2525 
       
  2526 ##########################################################################################
       
  2527 
       
  2528 ifndef OPENJDK
       
  2529 
       
  2530   LIBDCPR_SRC_DIRS := \
       
  2531       $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
       
  2532       $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
       
  2533       $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
       
  2534       $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
       
  2535 
       
  2536   LIBDCPR_CFLAGS := $(foreach dir, $(LIBDCPR_SRC_DIRS), -I$(dir)) \
       
  2537       -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
       
  2538 
       
  2539   $(eval $(call SetupNativeCompilation,BUILD_LIBDCPR, \
       
  2540       LIBRARY := dcpr, \
       
  2541       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  2542       SRC := $(LIBDCPR_SRC_DIRS), \
       
  2543       LANG := C, \
       
  2544       OPTIMIZATION := LOW, \
       
  2545       CFLAGS := $(CFLAGS_JDKLIB) \
       
  2546           $(LIBDCPR_CFLAGS), \
       
  2547       MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
       
  2548       LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  2549           $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  2550       LDFLAGS_SUFFIX := $(LIBM) $(LDFLAGS_JDKLIB_SUFFIX), \
       
  2551       LDFLAGS_SUFFIX_posix := -lm, \
       
  2552       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  2553       RC_FLAGS := $(RC_FLAGS) \
       
  2554           -D "JDK_FNAME=dcpr.dll" \
       
  2555           -D "JDK_INTERNAL_NAME=dcpr" \
       
  2556           -D "JDK_FTYPE=0x2L", \
       
  2557       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libdcpr, \
       
  2558       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  2559 
       
  2560   $(BUILD_LIBDCPR): $(BUILD_LIBJAVA)
       
  2561 
       
  2562   BUILD_LIBRARIES += $(BUILD_LIBDCPR)
       
  2563 
       
  2564 endif
       
  2565 
       
  2566 ##########################################################################################
       
  2567 
       
  2568 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC, \
       
  2569     LIBRARY := j2pcsc, \
       
  2570     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  2571     SRC := $(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
       
  2572         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio, \
       
  2573     LANG := C, \
       
  2574     CFLAGS_posix := -D__sun_jdk, \
       
  2575     OPTIMIZATION := LOW, \
       
  2576     CFLAGS := $(CFLAGS_JDKLIB) \
       
  2577         -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
       
  2578         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio \
       
  2579         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE, \
       
  2580     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
       
  2581     LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  2582         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  2583     LDFLAGS_SUFFIX_posix := $(LIBDL), \
       
  2584     LDFLAGS_SUFFIX_windows := winscard.lib, \
       
  2585     LDFLAGS_SUFFIX_solaris := -lc, \
       
  2586     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  2587     RC_FLAGS := $(RC_FLAGS) \
       
  2588         -D "JDK_FNAME=j2pcsc.dll" \
       
  2589         -D "JDK_INTERNAL_NAME=j2pcsc" \
       
  2590         -D "JDK_FTYPE=0x2L", \
       
  2591     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libj2pcsc, \
       
  2592     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  2593 
       
  2594 BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC)
       
  2595 
       
  2596 ##########################################################################################
       
  2597 
       
  2598 ifneq ($(OPENJDK_TARGET_OS), windows)
       
  2599   $(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS, \
       
  2600       LIBRARY := j2gss, \
       
  2601       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  2602       SRC := $(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
       
  2603           $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper, \
       
  2604       LANG := C, \
       
  2605       OPTIMIZATION := LOW, \
       
  2606       CFLAGS := $(CFLAGS_JDKLIB) \
       
  2607           -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
       
  2608           -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper, \
       
  2609       MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
       
  2610       LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  2611           $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  2612       LDFLAGS_SUFFIX := $(LIBDL), \
       
  2613       LDFLAGS_SUFFIX_solaris := -lc, \
       
  2614       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libj2gss, \
       
  2615       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  2616 
       
  2617   BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
       
  2618 endif
       
  2619 
       
  2620 ##########################################################################################
       
  2621 
       
  2622 ifneq ($(BUILD_CRYPTO), no)
       
  2623   BUILD_LIBKRB5_NAME :=
       
  2624   ifeq ($(OPENJDK_TARGET_OS), windows)
       
  2625     BUILD_LIBKRB5_NAME := w2k_lsa_auth
       
  2626     BUILD_LIBKRB5_SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5
       
  2627     BUILD_LIBKRB5_LIBS := advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \
       
  2628         gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \
       
  2629         ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib
       
  2630   else ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  2631     BUILD_LIBKRB5_NAME := osxkrb5
       
  2632     BUILD_LIBKRB5_SRC := $(JDK_TOPDIR)/src/share/native/sun/security/krb5
       
  2633     BUILD_LIBKRB5_LIBS := -framework Kerberos
       
  2634   endif
       
  2635 
       
  2636   ifneq ($(BUILD_LIBKRB5_NAME), )
       
  2637     $(eval $(call SetupNativeCompilation,BUILD_LIBKRB5, \
       
  2638         LIBRARY := $(BUILD_LIBKRB5_NAME), \
       
  2639         OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  2640         SRC := $(BUILD_LIBKRB5_SRC), \
       
  2641         LANG := C, \
       
  2642         OPTIMIZATION := LOW, \
       
  2643         CFLAGS := $(CFLAGS_JDKLIB) \
       
  2644             -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
       
  2645             -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5, \
       
  2646         LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  2647             $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  2648         LDFLAGS_SUFFIX := $(BUILD_LIBKRB5_LIBS), \
       
  2649         VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  2650         RC_FLAGS := $(RC_FLAGS) \
       
  2651             -D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \
       
  2652             -D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \
       
  2653             -D "JDK_FTYPE=0x2L", \
       
  2654         OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libkrb5, \
       
  2655         DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  2656 
       
  2657     BUILD_LIBRARIES += $(BUILD_LIBKRB5)
       
  2658   endif
       
  2659 endif
       
  2660 
       
  2661 ##########################################################################################
       
  2662 
       
  2663 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  2664 
       
  2665   $(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI, \
       
  2666       LIBRARY := sunmscapi, \
       
  2667       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  2668       SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi, \
       
  2669       LANG := C++, \
       
  2670       OPTIMIZATION := LOW, \
       
  2671       CFLAGS := $(CFLAGS_JDKLIB) \
       
  2672           -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi, \
       
  2673       LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
       
  2674           $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  2675       LDFLAGS_SUFFIX := Crypt32.Lib advapi32.lib, \
       
  2676       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  2677       RC_FLAGS := $(RC_FLAGS) \
       
  2678           -D "JDK_FNAME=sunmscapi.dll" \
       
  2679           -D "JDK_INTERNAL_NAME=sunmscapi" \
       
  2680           -D "JDK_FTYPE=0x2L", \
       
  2681       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsunmscapi, \
       
  2682       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  2683 
       
  2684   BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI)
       
  2685 endif
       
  2686 
       
  2687 ##########################################################################################
       
  2688 
       
  2689 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11, \
       
  2690     LIBRARY := j2pkcs11, \
       
  2691     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  2692     SRC := $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
       
  2693         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
       
  2694         $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
       
  2695         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper, \
       
  2696     LANG := C, \
       
  2697     OPTIMIZATION := LOW, \
       
  2698     CFLAGS := $(CFLAGS_JDKLIB) \
       
  2699         -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
       
  2700         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
       
  2701         -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
       
  2702         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper, \
       
  2703     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
       
  2704     LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  2705         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  2706     LDFLAGS_SUFFIX_posix := $(LIBDL), \
       
  2707     LDFLAGS_SUFFIX_solaris := -lc, \
       
  2708     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  2709     RC_FLAGS := $(RC_FLAGS) \
       
  2710         -D "JDK_FNAME=j2pkcs11.dll" \
       
  2711         -D "JDK_INTERNAL_NAME=j2pkcs11" \
       
  2712         -D "JDK_FTYPE=0x2L", \
       
  2713     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libj2pkcs11, \
       
  2714     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  2715 
       
  2716 BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11)
       
  2717 
       
  2718 ##########################################################################################
       
  2719 
       
  2720 ifeq ($(ENABLE_INTREE_EC), yes)
       
  2721 
       
  2722   BUILD_LIBSUNEC_FLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
       
  2723       -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
       
  2724 
       
  2725   #
       
  2726   # On sol-sparc...all libraries are compiled with -xregs=no%appl
       
  2727   # (set in CFLAGS_REQUIRED_sparc)
       
  2728   #
       
  2729   # except!!! libsunec.so
       
  2730   #
       
  2731   ECC_JNI_SOLSPARC_FILTER :=
       
  2732   ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
       
  2733     ECC_JNI_SOLSPARC_FILTER := -xregs=no%appl
       
  2734   endif
       
  2735 
       
  2736   $(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC, \
       
  2737       LIBRARY := sunec, \
       
  2738       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  2739       SRC := $(JDK_TOPDIR)/src/share/native/sun/security/ec \
       
  2740           $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
       
  2741       LANG := C++, \
       
  2742       OPTIMIZATION := LOW, \
       
  2743       CFLAGS := $(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB)) \
       
  2744           $(BUILD_LIBSUNEC_FLAGS) \
       
  2745           -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B, \
       
  2746       CXXFLAGS := $(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
       
  2747           $(BUILD_LIBSUNEC_FLAGS), \
       
  2748       MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
       
  2749       LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \
       
  2750       LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  2751       LDFLAGS_SUFFIX := $(LIBCXX), \
       
  2752       LDFLAGS_SUFFIX_linux := -lc, \
       
  2753       LDFLAGS_SUFFIX_solaris := -lc, \
       
  2754       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  2755       RC_FLAGS := $(RC_FLAGS) \
       
  2756           -D "JDK_FNAME=sunec.dll" \
       
  2757           -D "JDK_INTERNAL_NAME=sunec" \
       
  2758           -D "JDK_FTYPE=0x2L", \
       
  2759       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsunec, \
       
  2760       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  2761 
       
  2762   BUILD_LIBRARIES += $(BUILD_LIBSUNEC)
       
  2763 endif
       
  2764 
       
  2765 ##########################################################################################
       
  2766 
       
  2767 LIBJSOUND_SRC_DIRS := \
       
  2768     $(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
       
  2769     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/media/sound
       
  2770 
       
  2771 LIBJSOUND_SRC_FILES := Utilities.c Platform.c
       
  2772 
       
  2773 LIBJSOUND_LANG := C
       
  2774 LIBJSOUND_CFLAGS := $(foreach dir, $(LIBJSOUND_SRC_DIRS), -I$(dir))
       
  2775 
       
  2776 EXTRA_SOUND_JNI_LIBS :=
       
  2777 
       
  2778 LIBJSOUND_MIDIFILES := \
       
  2779     MidiInDevice.c \
       
  2780     MidiInDeviceProvider.c \
       
  2781     MidiOutDevice.c \
       
  2782     MidiOutDeviceProvider.c \
       
  2783     PlatformMidi.c
       
  2784 
       
  2785 # files needed for ports
       
  2786 LIBJSOUND_PORTFILES := \
       
  2787     PortMixerProvider.c \
       
  2788     PortMixer.c
       
  2789 
       
  2790 # files needed for direct audio
       
  2791 LIBJSOUND_DAUDIOFILES := \
       
  2792     DirectAudioDeviceProvider.c \
       
  2793     DirectAudioDevice.c
       
  2794 
       
  2795 ifeq ($(OPENJDK_TARGET_OS), windows)
       
  2796   EXTRA_SOUND_JNI_LIBS += jsoundds
       
  2797   LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
       
  2798       -DUSE_PLATFORM_MIDI_OUT=TRUE \
       
  2799       -DUSE_PLATFORM_MIDI_IN=TRUE \
       
  2800       -DUSE_PORTS=TRUE
       
  2801   LIBJSOUND_SRC_FILES += \
       
  2802       PLATFORM_API_WinOS_MidiIn.cpp \
       
  2803       PLATFORM_API_WinOS_MidiOut.c \
       
  2804       PLATFORM_API_WinOS_Util.c \
       
  2805       PLATFORM_API_WinOS_Ports.c
       
  2806   LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
       
  2807   LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
       
  2808 endif # OPENJDK_TARGET_OS windows
       
  2809 
       
  2810 ifeq ($(OPENJDK_TARGET_OS), linux)
       
  2811   EXTRA_SOUND_JNI_LIBS += jsoundalsa
       
  2812   LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
       
  2813 endif # OPENJDK_TARGET_OS linux
  3257 
  2814 
  3258 ifeq ($(OPENJDK_TARGET_OS), macosx)
  2815 ifeq ($(OPENJDK_TARGET_OS), macosx)
  3259 
  2816   LIBJSOUND_LANG := C++
  3260 $(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\
  2817   LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
  3261 		LIBRARY:=osxui,\
  2818       -DUSE_PORTS=TRUE \
  3262                 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
  2819       -DUSE_DAUDIO=TRUE \
  3263 		SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\
  2820       -DUSE_PLATFORM_MIDI_OUT=TRUE \
  3264 		LANG:=C,\
  2821       -DUSE_PLATFORM_MIDI_IN=TRUE
  3265 		OPTIMIZATION:=LOW, \
  2822   LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
  3266 		CFLAGS:=$(CFLAGS_JDKLIB) \
  2823   LIBJSOUND_SRC_FILES += \
  3267                         -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
  2824       PLATFORM_API_MacOSX_Utils.cpp \
  3268 			-I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
  2825       PLATFORM_API_MacOSX_PCM.cpp \
  3269 			-I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
  2826       PLATFORM_API_MacOSX_Ports.cpp \
  3270                         -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
  2827       PLATFORM_API_MacOSX_MidiIn.c \
  3271 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
  2828       PLATFORM_API_MacOSX_MidiOut.c \
  3272 			 $(call SET_SHARED_LIBRARY_ORIGIN) \
  2829       PLATFORM_API_MacOSX_MidiUtils.c
  3273 			 -Xlinker -rpath -Xlinker @loader_path,\
  2830   LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
  3274 		LDFLAGS_SUFFIX_macosx:=-lawt -losxapp -lawt_lwawt \
  2831   LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
  3275 				       -framework Cocoa \
  2832   LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
  3276 				       -framework Carbon \
  2833 endif # OPENJDK_TARGET_OS macosx
  3277 				       -framework ApplicationServices \
  2834 
  3278 				       -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
  2835 ifeq ($(OPENJDK_TARGET_OS), solaris)
  3279 				       -framework JavaNativeFoundation \
  2836   LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
  3280 				       -framework JavaRuntimeSupport \
  2837       -DUSE_PORTS=TRUE \
  3281 				       -ljava -ljvm,\
  2838       -DUSE_DAUDIO=TRUE
  3282 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui,\
  2839   LIBJSOUND_SRC_FILES += \
  3283 		DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
  2840       PLATFORM_API_SolarisOS_Utils.c \
  3284 
  2841       PLATFORM_API_SolarisOS_Ports.c \
  3285 BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
  2842       PLATFORM_API_SolarisOS_PCM.c
  3286 
  2843   LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
  3287 $(BUILD_LIBOSXUI) : $(BUILD_LIBAWT)
  2844   LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
  3288 
  2845   LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
  3289 $(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP)
  2846 endif # OPENJDK_TARGET_OS solaris
  3290 
  2847 
  3291 $(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT)
  2848 
  3292 
  2849 ifeq ($(JVM_VARIANT_ZERO), true)
  3293 #$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA)
  2850   LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO
       
  2851 else
       
  2852   ifeq ($(OPENJDK_TARGET_CPU), x86)
       
  2853     LIBJSOUND_CFLAGS += -DX_ARCH=X_I586
       
  2854   endif
       
  2855 
       
  2856   ifeq ($(OPENJDK_TARGET_CPU), sparc)
       
  2857     LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC
       
  2858   endif
       
  2859 
       
  2860   ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
       
  2861     LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9
       
  2862   endif
       
  2863 
       
  2864   ifeq ($(OPENJDK_TARGET_CPU), x86_64)
       
  2865     LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64
       
  2866   endif
       
  2867 
       
  2868   ifeq ($(OPENJDK_TARGET_CPU), arm)
       
  2869     LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM
       
  2870   endif
       
  2871 
       
  2872   ifeq ($(OPENJDK_TARGET_CPU), ppc)
       
  2873     LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC
       
  2874   endif
       
  2875 endif
       
  2876 
       
  2877 LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
       
  2878 
       
  2879 $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND, \
       
  2880     LIBRARY := jsound, \
       
  2881     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  2882     SRC := $(LIBJSOUND_SRC_DIRS), \
       
  2883     INCLUDE_FILES := $(LIBJSOUND_SRC_FILES), \
       
  2884     LANG := $(LIBJSOUND_LANG), \
       
  2885     OPTIMIZATION := LOW, \
       
  2886     CFLAGS := $(CFLAGS_JDKLIB) \
       
  2887         $(LIBJSOUND_CFLAGS), \
       
  2888     CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
       
  2889     MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
       
  2890     LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  2891         $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  2892     LDFLAGS_macosx := -framework CoreAudio -framework CoreFoundation \
       
  2893         -framework CoreServices -framework AudioUnit $(LIBCXX) \
       
  2894         -framework CoreMIDI -framework AudioToolbox, \
       
  2895     LDFLAGS_windows := $(WIN_JAVA_LIB) advapi32.lib winmm.lib, \
       
  2896     LDFLAGS_SUFFIX_posix := -ljava -ljvm, \
       
  2897     LDFLAGS_SUFFIX_solaris := -lc, \
       
  2898     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  2899     RC_FLAGS := $(RC_FLAGS) \
       
  2900         -D "JDK_FNAME=jsound.dll" \
       
  2901         -D "JDK_INTERNAL_NAME=jsound" \
       
  2902         -D "JDK_FTYPE=0x2L", \
       
  2903     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjsound, \
       
  2904     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  2905 
       
  2906 $(BUILD_LIBJSOUND): $(BUILD_LIBJAVA)
       
  2907 
       
  2908 BUILD_LIBRARIES += $(BUILD_LIBJSOUND)
       
  2909 
       
  2910 ##########################################################################################
       
  2911 
       
  2912 ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)), )
       
  2913 
       
  2914   $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA, \
       
  2915       LIBRARY := jsoundalsa, \
       
  2916       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  2917       SRC := $(LIBJSOUND_SRC_DIRS), \
       
  2918       INCLUDE_FILES := Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
       
  2919           $(LIBJSOUND_DAUDIOFILES) \
       
  2920           PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \
       
  2921           PLATFORM_API_LinuxOS_ALSA_PCM.c \
       
  2922           PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \
       
  2923           PLATFORM_API_LinuxOS_ALSA_MidiIn.c \
       
  2924           PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
       
  2925           PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
       
  2926           PLATFORM_API_LinuxOS_ALSA_Ports.c, \
       
  2927       LANG := C, \
       
  2928       OPTIMIZATION := LOW, \
       
  2929       CFLAGS := $(CFLAGS_JDKLIB) $(ALSA_CFLAGS) \
       
  2930           $(LIBJSOUND_CFLAGS) \
       
  2931           -DUSE_DAUDIO=TRUE \
       
  2932           -DUSE_PORTS=TRUE \
       
  2933           -DUSE_PLATFORM_MIDI_OUT=TRUE \
       
  2934           -DUSE_PLATFORM_MIDI_IN=TRUE, \
       
  2935       MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
       
  2936       LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  2937           $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  2938       LDFLAGS_SUFFIX := $(ALSA_LIBS) -ljava -ljvm, \
       
  2939       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjsoundalsa, \
       
  2940       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  2941 
       
  2942   $(BUILD_LIBJSOUNDALSA): $(BUILD_LIBJAVA)
       
  2943 
       
  2944   BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA)
       
  2945 
       
  2946 endif
       
  2947 
       
  2948 ##########################################################################################
       
  2949 
       
  2950 ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)), )
       
  2951 
       
  2952   $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS, \
       
  2953       LIBRARY := jsoundds, \
       
  2954       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  2955       SRC := $(LIBJSOUND_SRC_DIRS), \
       
  2956       INCLUDE_FILES := Utilities.c $(LIBJSOUND_DAUDIOFILES) \
       
  2957           PLATFORM_API_WinOS_DirectSound.cpp, \
       
  2958       LANG := C++, \
       
  2959       OPTIMIZATION := LOW, \
       
  2960       CFLAGS := $(CFLAGS_JDKLIB) \
       
  2961           $(LIBJSOUND_CFLAGS) \
       
  2962           -DUSE_DAUDIO=TRUE, \
       
  2963       LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
       
  2964           $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  2965       LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib, \
       
  2966       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       
  2967       RC_FLAGS := $(RC_FLAGS) \
       
  2968           -D "JDK_FNAME=jsoundds.dll" \
       
  2969           -D "JDK_INTERNAL_NAME=jsoundds" \
       
  2970           -D "JDK_FTYPE=0x2L", \
       
  2971       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjsoundds, \
       
  2972       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  2973 
       
  2974   $(BUILD_LIBJSOUNDDS): $(BUILD_LIBJAVA)
       
  2975 
       
  2976   BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS)
       
  2977 
       
  2978 endif
       
  2979 
       
  2980 ##########################################################################################
       
  2981 
       
  2982 ifeq ($(OPENJDK_TARGET_OS), solaris)
       
  2983   ifndef OPENJDK
       
  2984 
       
  2985     $(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO, \
       
  2986         LIBRARY := j2ucrypto, \
       
  2987         OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  2988         SRC := $(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto, \
       
  2989         LANG := C, \
       
  2990         OPTIMIZATION := LOW, \
       
  2991         CFLAGS := $(CFLAGS_JDKLIB) \
       
  2992             -I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto, \
       
  2993         MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
       
  2994         LDFLAGS := $(LDFLAGS_JDKLIB), \
       
  2995         LDFLAGS_SUFFIX := $(LIBDL), \
       
  2996         LDFLAGS_SUFFIX_solaris := -lc, \
       
  2997         OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libj2ucrypto, \
       
  2998         DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  2999 
       
  3000     $(BUILD_LIBJ2UCRYPTO): $(BUILD_LIBJAVA)
       
  3001 
       
  3002     BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO)
       
  3003 
       
  3004   endif
       
  3005 endif
       
  3006 
       
  3007 ##########################################################################################
       
  3008 
       
  3009 ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  3010 
       
  3011   $(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE, \
       
  3012       LIBRARY := AppleScriptEngine, \
       
  3013       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  3014       SRC := $(JDK_TOPDIR)/src/macosx/native/apple/applescript, \
       
  3015       LANG := C, \
       
  3016       OPTIMIZATION := LOW, \
       
  3017       CFLAGS := $(CFLAGS_JDKLIB) \
       
  3018           -I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
       
  3019           -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
       
  3020           -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
       
  3021       LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  3022           $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  3023       LDFLAGS_SUFFIX := -framework Cocoa \
       
  3024           -framework Carbon \
       
  3025           -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
       
  3026           -framework JavaNativeFoundation \
       
  3027           $(LDFLAGS_JDKLIB_SUFFIX), \
       
  3028       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libAppleScriptEngine, \
       
  3029       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  3030 
       
  3031   $(BUILD_LIBAPPLESCRIPTENGINE): $(BUILD_LIBJAVA)
       
  3032 
       
  3033   BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
       
  3034 
       
  3035 endif
       
  3036 
       
  3037 ##########################################################################################
       
  3038 
       
  3039 ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  3040 
       
  3041   $(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP, \
       
  3042       LIBRARY := osxapp, \
       
  3043       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  3044       SRC := $(JDK_TOPDIR)/src/macosx/native/sun/osxapp, \
       
  3045       LANG := C, \
       
  3046       OPTIMIZATION := LOW, \
       
  3047       CFLAGS := $(CFLAGS_JDKLIB) \
       
  3048           -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
       
  3049           -I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \
       
  3050           -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
       
  3051           -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
       
  3052       LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  3053           $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  3054       LDFLAGS_SUFFIX_macosx := \
       
  3055           -framework Accelerate \
       
  3056           -framework ApplicationServices \
       
  3057           -framework AudioToolbox \
       
  3058           -framework Carbon \
       
  3059           -framework Cocoa \
       
  3060           -framework Security \
       
  3061           -framework ExceptionHandling \
       
  3062           -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
       
  3063           -framework JavaNativeFoundation \
       
  3064           -framework JavaRuntimeSupport \
       
  3065           -framework OpenGL \
       
  3066           -framework IOSurface \
       
  3067           -framework QuartzCore, \
       
  3068       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libosxapp, \
       
  3069       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  3070 
       
  3071   BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
       
  3072 
       
  3073 endif
       
  3074 
       
  3075 ##########################################################################################
       
  3076 
       
  3077 ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  3078 
       
  3079   LIBOSX_DIRS := \
       
  3080       $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
       
  3081       $(JDK_TOPDIR)/src/macosx/native/java/util \
       
  3082       $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
       
  3083       $(JDK_TOPDIR)/src/macosx/native/apple/security \
       
  3084       $(JDK_TOPDIR)/src/macosx/native/apple/launcher
       
  3085 
       
  3086   $(eval $(call SetupNativeCompilation,BUILD_LIBOSX, \
       
  3087       LIBRARY := osx, \
       
  3088       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  3089       SRC := $(LIBOSX_DIRS), \
       
  3090       LANG := C, \
       
  3091       OPTIMIZATION := LOW, \
       
  3092       CFLAGS := $(CFLAGS_JDKLIB) \
       
  3093           $(foreach dir, $(LIBOSX_DIRS), -I$(dir)) \
       
  3094           -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
       
  3095           -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
       
  3096           -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
       
  3097       LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  3098           $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  3099       LDFLAGS_SUFFIX_macosx := \
       
  3100           -losxapp \
       
  3101           -framework Cocoa \
       
  3102           -framework ApplicationServices \
       
  3103           -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
       
  3104           -framework JavaNativeFoundation \
       
  3105           -framework JavaRuntimeSupport \
       
  3106           -framework Security \
       
  3107           -framework SystemConfiguration \
       
  3108           $(LDFLAGS_JDKLIB_SUFFIX), \
       
  3109       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libosx, \
       
  3110       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  3111 
       
  3112   BUILD_LIBRARIES += $(BUILD_LIBOSX)
       
  3113 
       
  3114   $(BUILD_LIBOSX): $(BUILD_LIBOSXAPP)
       
  3115 
       
  3116   $(BUILD_LIBOSX): $(BUILD_LIBJAVA)
       
  3117 
       
  3118 endif
       
  3119 
       
  3120 ##########################################################################################
       
  3121 
       
  3122 ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  3123 
       
  3124   LIBAWT_LWAWT_FILES := \
       
  3125       awt.m \
       
  3126       ApplicationDelegate.m \
       
  3127       CFRetainedResource.m \
       
  3128       CGLGraphicsConfig.m \
       
  3129       CGLSurfaceData.m \
       
  3130       CGLLayer.m \
       
  3131       CGraphicsConfig.m \
       
  3132       CGraphicsDevice.m \
       
  3133       CGraphicsEnv.m \
       
  3134       CCharToGlyphMapper.m \
       
  3135       CSystemColors.m \
       
  3136       AWTFont.m \
       
  3137       CGGlyphOutlines.m \
       
  3138       CGGlyphImages.m \
       
  3139       CoreTextSupport.m \
       
  3140       AWTStrike.m \
       
  3141       InitIDs.m \
       
  3142       AWTEvent.m \
       
  3143       AWTView.m \
       
  3144       AWTWindow.m \
       
  3145       AWTSurfaceLayers.m \
       
  3146       CCursorManager.m \
       
  3147       CClipboard.m \
       
  3148       CDataTransferer.m \
       
  3149       CDragSource.m \
       
  3150       CDragSourceContextPeer.m \
       
  3151       CDropTarget.m \
       
  3152       CDropTargetContextPeer.m \
       
  3153       CInputMethod.m \
       
  3154       CDesktopPeer.m \
       
  3155       OSVersion.m \
       
  3156       DnDUtilities.m \
       
  3157       CFileDialog.m \
       
  3158       CImage.m \
       
  3159       CMenu.m \
       
  3160       CMenuBar.m \
       
  3161       CMenuComponent.m \
       
  3162       CMenuItem.m \
       
  3163       CPopupMenu.m \
       
  3164       CRobot.m \
       
  3165       CTrayIcon.m \
       
  3166       CWrapper.m \
       
  3167       JavaAccessibilityAction.m \
       
  3168       JavaAccessibilityUtilities.m \
       
  3169       JavaComponentAccessibility.m \
       
  3170       JavaTextAccessibility.m \
       
  3171       LWCToolkit.m \
       
  3172       GeomUtilities.m \
       
  3173       CPrinterJob.m \
       
  3174       PrintModel.m \
       
  3175       PrinterSurfaceData.m \
       
  3176       PrinterView.m \
       
  3177       QuartzSurfaceData.m \
       
  3178       QuartzRenderer.m \
       
  3179       CTextPipe.m \
       
  3180       ImageSurfaceData.m \
       
  3181       awt_DrawingSurface.m \
       
  3182       \
       
  3183       OGLBlitLoops.c \
       
  3184       OGLBufImgOps.c \
       
  3185       OGLContext.c \
       
  3186       OGLFuncs.c \
       
  3187       OGLMaskBlit.c \
       
  3188       OGLMaskFill.c \
       
  3189       OGLPaints.c \
       
  3190       OGLRenderQueue.c \
       
  3191       OGLRenderer.c \
       
  3192       OGLSurfaceData.c \
       
  3193       OGLTextRenderer.c \
       
  3194       OGLVertexCache.c \
       
  3195       AccelGlyphCache.c \
       
  3196       CUPSfuncs.c
       
  3197 
       
  3198 
       
  3199   LIBAWT_LWAWT_DIRS := \
       
  3200       $(JDK_TOPDIR)/src/macosx/native/sun/awt \
       
  3201       $(JDK_TOPDIR)/src/macosx/native/sun/font \
       
  3202       $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
       
  3203       $(JDK_TOPDIR)/src/solaris/native/sun/awt \
       
  3204       $(JDK_TOPDIR)/src/share/native/sun/font \
       
  3205       $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
       
  3206 
       
  3207   $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT, \
       
  3208       LIBRARY := awt_lwawt, \
       
  3209       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  3210       SRC := $(LIBAWT_LWAWT_DIRS), \
       
  3211       LANG := C, \
       
  3212       INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
       
  3213       OPTIMIZATION := LOW, \
       
  3214       CFLAGS := $(CFLAGS_JDKLIB) \
       
  3215       $(X_CFLAGS) \
       
  3216       $(X_LIBS) \
       
  3217       $(foreach dir, $(LIBAWT_LWAWT_DIRS), -I$(dir)) \
       
  3218           -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
       
  3219           -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
       
  3220           -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
       
  3221           -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
       
  3222           -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
       
  3223           -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
       
  3224           -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
       
  3225           -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
       
  3226           -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
       
  3227           -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
       
  3228       LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  3229           $(call SET_SHARED_LIBRARY_ORIGIN), \
       
  3230       LDFLAGS_SUFFIX_macosx := -lawt -lmlib_image -losxapp -ljvm $(LIBM) \
       
  3231           -framework Accelerate \
       
  3232           -framework ApplicationServices \
       
  3233           -framework AudioToolbox \
       
  3234           -framework Carbon \
       
  3235           -framework Cocoa \
       
  3236           -framework Security \
       
  3237           -framework ExceptionHandling \
       
  3238           -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
       
  3239           -framework JavaNativeFoundation \
       
  3240           -framework JavaRuntimeSupport \
       
  3241           -framework OpenGL \
       
  3242           -framework QuartzCore -ljava, \
       
  3243       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_lwawt, \
       
  3244       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  3245 
       
  3246   BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
       
  3247 
       
  3248   $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBAWT)
       
  3249 
       
  3250   $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBMLIB_IMAGE)
       
  3251 
       
  3252   $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBOSXAPP)
       
  3253 
       
  3254   $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBJAVA)
       
  3255 
       
  3256 endif
       
  3257 
       
  3258 ##########################################################################################
       
  3259 
       
  3260 ifeq ($(OPENJDK_TARGET_OS), macosx)
       
  3261 
       
  3262   $(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI, \
       
  3263       LIBRARY := osxui, \
       
  3264       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  3265       SRC := $(JDK_TOPDIR)/src/macosx/native/com/apple/laf, \
       
  3266       LANG := C, \
       
  3267       OPTIMIZATION := LOW, \
       
  3268       CFLAGS := $(CFLAGS_JDKLIB) \
       
  3269           -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
       
  3270           -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
       
  3271           -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
       
  3272           -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
       
  3273       LDFLAGS := $(LDFLAGS_JDKLIB) \
       
  3274           $(call SET_SHARED_LIBRARY_ORIGIN) \
       
  3275           -Xlinker -rpath -Xlinker @loader_path, \
       
  3276       LDFLAGS_SUFFIX_macosx := -lawt -losxapp -lawt_lwawt \
       
  3277           -framework Cocoa \
       
  3278           -framework Carbon \
       
  3279           -framework ApplicationServices \
       
  3280           -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
       
  3281           -framework JavaNativeFoundation \
       
  3282           -framework JavaRuntimeSupport \
       
  3283           -ljava -ljvm, \
       
  3284       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libosxui, \
       
  3285       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
       
  3286 
       
  3287   BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
       
  3288 
       
  3289   $(BUILD_LIBOSXUI): $(BUILD_LIBAWT)
       
  3290 
       
  3291   $(BUILD_LIBOSXUI): $(BUILD_LIBOSXAPP)
       
  3292 
       
  3293   $(BUILD_LIBOSXUI): $(BUILD_LIBAWT_LWAWT)
       
  3294 
       
  3295   #$(BUILD_LIBOSXUI): $(BUILD_LIBJAVA)
  3294 
  3296 
  3295 endif
  3297 endif
  3296 
  3298 
  3297 ##########################################################################################
  3299 ##########################################################################################
  3298 
  3300 
  3299 ifndef OPENJDK
  3301 ifndef OPENJDK
  3300 ifeq ($(OPENJDK_TARGET_OS), windows)
  3302   ifeq ($(OPENJDK_TARGET_OS), windows)
  3301 
  3303 
  3302   ACCESSBRIDGE_SRCDIR:=$(JDK_TOPDIR)/src/closed/windows/native/sun/bridge
  3304     ACCESSBRIDGE_SRCDIR := $(JDK_TOPDIR)/src/closed/windows/native/sun/bridge
  3303 
  3305 
  3304   define SetupAccessBridge
  3306     define SetupAccessBridge
  3305     # Parameter 1 Suffix
  3307       # Parameter 1 Suffix
  3306     # Parameter 2 Machine
  3308       # Parameter 2 Machine
  3307     # Parameter 3 ACCESSBRIDGE_ARCH_ suffix
  3309       # Parameter 3 ACCESSBRIDGE_ARCH_ suffix
  3308 
  3310 
  3309     $(call SetupNativeCompilation,BUILD_JAWTACCESSBRIDGE$1,\
  3311       $(call SetupNativeCompilation,BUILD_JAWTACCESSBRIDGE$1, \
  3310 		LIBRARY=JAWTAccessBridge$1,\
  3312           LIBRARY = JAWTAccessBridge$1, \
  3311 		OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
  3313           OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
  3312 		SRC:=$(ACCESSBRIDGE_SRCDIR),\
  3314           SRC := $(ACCESSBRIDGE_SRCDIR), \
  3313 		INCLUDE_FILES:=JAWTAccessBridge.cpp,\
  3315           INCLUDE_FILES := JAWTAccessBridge.cpp, \
  3314 		LANG:=C++,\
  3316           LANG := C++, \
  3315 		OPTIMIZATION:=LOW,\
  3317           OPTIMIZATION := LOW, \
  3316 		CFLAGS:=$(CFLAGS_JDKLIB) \
  3318           CFLAGS := $(CFLAGS_JDKLIB) \
  3317 			-DACCESSBRIDGE_ARCH_$3,\
  3319               -DACCESSBRIDGE_ARCH_$3, \
  3318 		LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
  3320           LDFLAGS := $(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
  3319 			 winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \
  3321               winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \
  3320 			 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
  3322               ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
  3321 			 -subsystem:windows -machine:$2 \
  3323               -subsystem:windows -machine:$2 \
  3322 			 -def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF,\
  3324               -def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF, \
  3323 		VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
  3325           VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \
  3324 		RC_FLAGS:=$(RC_FLAGS),\
  3326           RC_FLAGS := $(RC_FLAGS), \
  3325 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1,\
  3327           OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1, \
  3326 		DEBUG_SYMBOLS:=true)
  3328           DEBUG_SYMBOLS := true)
  3327 
  3329 
  3328     $$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
  3330       $$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
  3329 
  3331 
  3330     $(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1,\
  3332       $(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1, \
  3331 		LIBRARY=JavaAccessBridge$1,\
  3333           LIBRARY = JavaAccessBridge$1, \
  3332 		OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
  3334           OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
  3333 		SRC:=$(ACCESSBRIDGE_SRCDIR),\
  3335           SRC := $(ACCESSBRIDGE_SRCDIR), \
  3334 		INCLUDE_FILES:=AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \
  3336           INCLUDE_FILES := AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \
  3335 			       AccessBridgeJavaEntryPoints.cpp \
  3337               AccessBridgeJavaEntryPoints.cpp \
  3336 			       AccessBridgeMessages.cpp JavaAccessBridge.cpp,\
  3338               AccessBridgeMessages.cpp JavaAccessBridge.cpp, \
  3337 		LANG:=C++,\
  3339           LANG := C++, \
  3338 		OPTIMIZATION:=LOW,\
  3340           OPTIMIZATION := LOW, \
  3339 		CFLAGS:=$(CFLAGS_JDKLIB) \
  3341           CFLAGS := $(CFLAGS_JDKLIB) \
  3340 			-DACCESSBRIDGE_ARCH_$3,\
  3342               -DACCESSBRIDGE_ARCH_$3, \
  3341 		LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
  3343           LDFLAGS := $(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
  3342 			 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
  3344               winspool.lib comdlg32.lib advapi32.lib shell32.lib \
  3343 			 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
  3345               ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
  3344 			 -subsystem:windows -machine:$2 \
  3346               -subsystem:windows -machine:$2 \
  3345 			 -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF,\
  3347               -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF, \
  3346 		VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
  3348           VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \
  3347 		RC_FLAGS:=$(RC_FLAGS),\
  3349           RC_FLAGS := $(RC_FLAGS), \
  3348 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1,\
  3350           OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1, \
  3349 		DEBUG_SYMBOLS:=true)
  3351           DEBUG_SYMBOLS := true)
  3350 
  3352 
  3351     $(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1,\
  3353       $(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1, \
  3352 		LIBRARY=WindowsAccessBridge$1,\
  3354           LIBRARY = WindowsAccessBridge$1, \
  3353 		OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
  3355           OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
  3354 		SRC:=$(ACCESSBRIDGE_SRCDIR),\
  3356           SRC := $(ACCESSBRIDGE_SRCDIR), \
  3355 		INCLUDE_FILES:=AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \
  3357           INCLUDE_FILES := AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \
  3356 			       AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \
  3358               AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \
  3357 			       WinAccessBridge.cpp AccessBridgeDebug.cpp \
  3359               WinAccessBridge.cpp AccessBridgeDebug.cpp \
  3358 			       AccessBridgeEventHandler.cpp,\
  3360               AccessBridgeEventHandler.cpp, \
  3359 		LANG:=C++,\
  3361           LANG := C++, \
  3360 		OPTIMIZATION:=LOW,\
  3362           OPTIMIZATION := LOW, \
  3361 		CFLAGS:=$(filter-out -MD,$(CFLAGS_JDKLIB)) -MT \
  3363           CFLAGS := $(filter-out -MD, $(CFLAGS_JDKLIB)) -MT \
  3362 			-DACCESSBRIDGE_ARCH_$3,\
  3364               -DACCESSBRIDGE_ARCH_$3, \
  3363 		LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
  3365           LDFLAGS := $(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
  3364 			 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
  3366               winspool.lib comdlg32.lib advapi32.lib shell32.lib \
  3365 			 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
  3367               ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
  3366 			 -subsystem:windows -machine:$2 \
  3368               -subsystem:windows -machine:$2 \
  3367 			 -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF,\
  3369               -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF, \
  3368 		VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
  3370           VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \
  3369 		RC_FLAGS:=$(RC_FLAGS),\
  3371           RC_FLAGS := $(RC_FLAGS), \
  3370 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1,\
  3372           OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1, \
  3371 		DEBUG_SYMBOLS:=true)
  3373           DEBUG_SYMBOLS := true)
  3372 
  3374 
  3373     BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \
  3375       BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \
  3374 		       $$(BUILD_WINDOWSACCESSBRIDGE$1)
  3376           $$(BUILD_WINDOWSACCESSBRIDGE$1)
  3375 
  3377 
  3376   endef
  3378     endef
  3377 
  3379 
  3378   ifeq ($(OPENJDK_TARGET_CPU_BITS),32)
  3380     ifeq ($(OPENJDK_TARGET_CPU_BITS), 32)
  3379     $(eval $(call SetupAccessBridge,-32,I386,32))
  3381       $(eval $(call SetupAccessBridge,-32,I386,32))
  3380     $(eval $(call SetupAccessBridge,,I386,LEGACY))
  3382       $(eval $(call SetupAccessBridge,,I386,LEGACY))
  3381   else
  3383     else
  3382     $(eval $(call SetupAccessBridge,-64,X64,64))
  3384       $(eval $(call SetupAccessBridge,-64,X64,64))
  3383   endif
  3385     endif
  3384 endif
  3386   endif
  3385 endif
  3387 endif
  3386 
  3388 
  3387 
  3389 
  3388 ##########################################################################################
  3390 ##########################################################################################
  3389 
  3391