make/lib/CoreLibraries.gmk
branchihse-jdk-library-branch
changeset 56287 593a452fcbeb
parent 49070 d7859531621b
child 56310 b74ed86a116a
equal deleted inserted replaced
56283:871659d45aca 56287:593a452fcbeb
   106   ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
   106   ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
   107     LIBVERIFY_OPTIMIZATION := LOW
   107     LIBVERIFY_OPTIMIZATION := LOW
   108   endif
   108   endif
   109 endif
   109 endif
   110 
   110 
   111 $(eval $(call SetupNativeCompilation, BUILD_LIBVERIFY, \
   111 $(eval $(call SetupJdkLibrary, BUILD_LIBVERIFY, \
   112     NAME := verify, \
   112     NAME := verify, \
   113     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
   114     SRC := $(TOPDIR)/src/java.base/share/native/libverify, \
   113     SRC := $(TOPDIR)/src/java.base/share/native/libverify, \
   115     OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \
   114     OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \
   116     CFLAGS := $(CFLAGS_JDKLIB), \
   115     CFLAGS := $(CFLAGS_JDKLIB), \
   117     DISABLED_WARNINGS_gcc := implicit-fallthrough, \
   116     DISABLED_WARNINGS_gcc := implicit-fallthrough, \
   118     DISABLED_WARNINGS_microsoft := 4244 4267, \
   117     DISABLED_WARNINGS_microsoft := 4244 4267, \
   119     MAPFILE := $(TOPDIR)/make/mapfiles/libverify/mapfile-vers, \
   118     MAPFILE := $(TOPDIR)/make/mapfiles/libverify/mapfile-vers, \
   120     LDFLAGS := $(LDFLAGS_JDKLIB) \
   119     LDFLAGS := $(LDFLAGS_JDKLIB) \
   121         $(call SET_SHARED_LIBRARY_ORIGIN), \
   120         $(call SET_SHARED_LIBRARY_ORIGIN), \
   122     LIBS_unix := -ljvm -lc, \
   121     LIBS_unix := -ljvm -lc, \
   123     LIBS_windows := jvm.lib, \
   122     LIBS_windows := jvm.lib, \
   124     VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
       
   125     RC_FLAGS := $(RC_FLAGS) \
       
   126         -D "JDK_FNAME=verify.dll" \
       
   127         -D "JDK_INTERNAL_NAME=verify" \
       
   128         -D "JDK_FTYPE=0x2L", \
       
   129     REORDER := $(BUILD_LIBVERIFY_REORDER), \
   123     REORDER := $(BUILD_LIBVERIFY_REORDER), \
   130     OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libverify, \
       
   131 ))
   124 ))
   132 
   125 
   133 TARGETS += $(BUILD_LIBVERIFY)
   126 TARGETS += $(BUILD_LIBVERIFY)
   134 
   127 
   135 ##########################################################################################
   128 ##########################################################################################
   154   ifneq ($(OPENJDK_TARGET_CPU), x86_64)
   147   ifneq ($(OPENJDK_TARGET_CPU), x86_64)
   155     LIBJAVA_REORDER := $(TOPDIR)/make/mapfiles/libjava/reorder-$(OPENJDK_TARGET_CPU)
   148     LIBJAVA_REORDER := $(TOPDIR)/make/mapfiles/libjava/reorder-$(OPENJDK_TARGET_CPU)
   156   endif
   149   endif
   157 endif
   150 endif
   158 
   151 
   159 $(eval $(call SetupNativeCompilation, BUILD_LIBJAVA, \
   152 $(eval $(call SetupJdkLibrary, BUILD_LIBJAVA, \
   160     NAME := java, \
   153     NAME := java, \
   161     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
   162     SRC := $(LIBJAVA_SRC_DIRS), \
   154     SRC := $(LIBJAVA_SRC_DIRS), \
   163     OPTIMIZATION := HIGH, \
   155     OPTIMIZATION := HIGH, \
   164     CFLAGS := $(CFLAGS_JDKLIB) \
   156     CFLAGS := $(CFLAGS_JDKLIB) \
   165         $(LIBJAVA_CFLAGS), \
   157         $(LIBJAVA_CFLAGS), \
   166     System.c_CFLAGS := $(VERSION_CFLAGS), \
   158     System.c_CFLAGS := $(VERSION_CFLAGS), \
   184         -framework Foundation \
   176         -framework Foundation \
   185         -framework Security -framework SystemConfiguration, \
   177         -framework Security -framework SystemConfiguration, \
   186     LIBS_windows := jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
   178     LIBS_windows := jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
   187         shell32.lib delayimp.lib \
   179         shell32.lib delayimp.lib \
   188         advapi32.lib version.lib, \
   180         advapi32.lib version.lib, \
   189     VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
       
   190     RC_FLAGS := $(RC_FLAGS) \
       
   191         -D "JDK_FNAME=java.dll" \
       
   192         -D "JDK_INTERNAL_NAME=java" \
       
   193         -D "JDK_FTYPE=0x2L", \
       
   194     REORDER := $(LIBJAVA_REORDER), \
   181     REORDER := $(LIBJAVA_REORDER), \
   195     OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjava, \
       
   196 ))
   182 ))
   197 
   183 
   198 TARGETS += $(BUILD_LIBJAVA)
   184 TARGETS += $(BUILD_LIBJAVA)
   199 
   185 
   200 $(BUILD_LIBJAVA): $(BUILD_LIBVERIFY)
   186 $(BUILD_LIBJAVA): $(BUILD_LIBVERIFY)
   217 
   203 
   218 ifeq ($(LIBZIP_CAN_USE_MMAP), true)
   204 ifeq ($(LIBZIP_CAN_USE_MMAP), true)
   219   BUILD_LIBZIP_MMAP := -DUSE_MMAP
   205   BUILD_LIBZIP_MMAP := -DUSE_MMAP
   220 endif
   206 endif
   221 
   207 
   222 $(eval $(call SetupNativeCompilation, BUILD_LIBZIP, \
   208 $(eval $(call SetupJdkLibrary, BUILD_LIBZIP, \
   223     NAME := zip, \
   209     NAME := zip, \
   224     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
   225     OPTIMIZATION := LOW, \
   210     OPTIMIZATION := LOW, \
   226     SRC := $(TOPDIR)/src/java.base/share/native/libzip, \
   211     SRC := $(TOPDIR)/src/java.base/share/native/libzip, \
   227     EXCLUDES := $(LIBZIP_EXCLUDES), \
   212     EXCLUDES := $(LIBZIP_EXCLUDES), \
   228     CFLAGS := $(CFLAGS_JDKLIB) \
   213     CFLAGS := $(CFLAGS_JDKLIB) \
   229         $(LIBZ_CFLAGS) \
   214         $(LIBZ_CFLAGS) \
   240         -export:ZIP_ReadEntry -export:ZIP_GetNextEntry \
   225         -export:ZIP_ReadEntry -export:ZIP_GetNextEntry \
   241         -export:ZIP_InflateFully -export:ZIP_CRC32 -export:ZIP_FreeEntry, \
   226         -export:ZIP_InflateFully -export:ZIP_CRC32 -export:ZIP_FreeEntry, \
   242     LIBS_unix := -ljvm -ljava $(LIBZ_LIBS), \
   227     LIBS_unix := -ljvm -ljava $(LIBZ_LIBS), \
   243     LIBS_solaris := -lc, \
   228     LIBS_solaris := -lc, \
   244     LIBS_windows := jvm.lib $(WIN_JAVA_LIB), \
   229     LIBS_windows := jvm.lib $(WIN_JAVA_LIB), \
   245     VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
       
   246     RC_FLAGS := $(RC_FLAGS) \
       
   247         -D "JDK_FNAME=zip.dll" \
       
   248         -D "JDK_INTERNAL_NAME=zip" \
       
   249         -D "JDK_FTYPE=0x2L", \
       
   250     OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libzip, \
       
   251 ))
   230 ))
   252 
   231 
   253 $(BUILD_LIBZIP): $(BUILD_LIBJAVA)
   232 $(BUILD_LIBZIP): $(BUILD_LIBJAVA)
   254 
   233 
   255 TARGETS += $(BUILD_LIBZIP)
   234 TARGETS += $(BUILD_LIBZIP)
   261     -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava \
   240     -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava \
   262     -I$(TOPDIR)/src/java.base/share/native/libjimage \
   241     -I$(TOPDIR)/src/java.base/share/native/libjimage \
   263     -I$(SUPPORT_OUTPUTDIR)/headers/java.base \
   242     -I$(SUPPORT_OUTPUTDIR)/headers/java.base \
   264     #
   243     #
   265 
   244 
   266 $(eval $(call SetupNativeCompilation, BUILD_LIBJIMAGE, \
   245 $(eval $(call SetupJdkLibrary, BUILD_LIBJIMAGE, \
   267     NAME := jimage, \
   246     NAME := jimage, \
   268     TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
   247     TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
   269     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
   270     OPTIMIZATION := LOW, \
   248     OPTIMIZATION := LOW, \
   271     SRC := $(TOPDIR)/src/java.base/share/native/libjimage \
   249     SRC := $(TOPDIR)/src/java.base/share/native/libjimage \
   272         $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjimage, \
   250         $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjimage, \
   273     EXCLUDES := $(LIBJIMAGE_EXCLUDES), \
   251     EXCLUDES := $(LIBJIMAGE_EXCLUDES), \
   274     CFLAGS := $(CFLAGS_JDKLIB) $(JIMAGELIB_CPPFLAGS), \
   252     CFLAGS := $(CFLAGS_JDKLIB) $(JIMAGELIB_CPPFLAGS), \
   284         -export:JIMAGE_ResourceIterator -export:JIMAGE_ResourcePath, \
   262         -export:JIMAGE_ResourceIterator -export:JIMAGE_ResourcePath, \
   285     LIBS_unix := -ljvm -ldl $(LIBCXX), \
   263     LIBS_unix := -ljvm -ldl $(LIBCXX), \
   286     LIBS_solaris := -lc, \
   264     LIBS_solaris := -lc, \
   287     LIBS_macosx := -lc++, \
   265     LIBS_macosx := -lc++, \
   288     LIBS_windows := jvm.lib, \
   266     LIBS_windows := jvm.lib, \
   289     VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
       
   290     RC_FLAGS := $(RC_FLAGS) \
       
   291         -D "JDK_FNAME=jimage.dll" \
       
   292         -D "JDK_INTERNAL_NAME=jimage" \
       
   293         -D "JDK_FTYPE=0x2L", \
       
   294     OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjimage, \
       
   295 ))
   267 ))
   296 
   268 
   297 $(BUILD_LIBJIMAGE): $(BUILD_LIBJAVA)
   269 $(BUILD_LIBJIMAGE): $(BUILD_LIBJAVA)
   298 
   270 
   299 TARGETS += $(BUILD_LIBJIMAGE)
   271 TARGETS += $(BUILD_LIBJIMAGE)
   357           zcrc32.c \
   329           zcrc32.c \
   358           zutil.c \
   330           zutil.c \
   359       )
   331       )
   360 endif
   332 endif
   361 
   333 
   362 $(eval $(call SetupNativeCompilation, BUILD_LIBJLI, \
   334 $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
   363     NAME := jli, \
   335     NAME := jli, \
   364     OUTPUT_DIR := $(LIBJLI_OUTPUT_DIR), \
   336     OUTPUT_DIR := $(LIBJLI_OUTPUT_DIR), \
   365     SRC := $(LIBJLI_SRC_DIRS), \
   337     SRC := $(LIBJLI_SRC_DIRS), \
   366     EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
   338     EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
   367     EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
   339     EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
   400     LIBS_linux := $(LIBDL) -lc -lpthread, \
   372     LIBS_linux := $(LIBDL) -lc -lpthread, \
   401     LIBS_solaris := $(LIBDL) -lc, \
   373     LIBS_solaris := $(LIBDL) -lc, \
   402     LIBS_aix := $(LIBDL),\
   374     LIBS_aix := $(LIBDL),\
   403     LIBS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
   375     LIBS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
   404     LIBS_windows := advapi32.lib comctl32.lib user32.lib, \
   376     LIBS_windows := advapi32.lib comctl32.lib user32.lib, \
   405     VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
       
   406     RC_FLAGS := $(RC_FLAGS) \
       
   407         -D "JDK_FNAME=jli.dll" \
       
   408         -D "JDK_INTERNAL_NAME=jli" \
       
   409         -D "JDK_FTYPE=0x2L", \
       
   410     OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli, \
       
   411 ))
   377 ))
   412 
   378 
   413 TARGETS += $(BUILD_LIBJLI)
   379 TARGETS += $(BUILD_LIBJLI)
   414 
   380 
   415 # On windows, the static library has the same suffix as the import library created by
   381 # On windows, the static library has the same suffix as the import library created by