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