78 OPENWIN_LIB:=$(OPENWIN_HOME)/lib
79
80 ##########################################################################################
81
82 BUILD_LIBFDLIBM_OPTIMIZATION:=HIGH
83
84 ifneq ($(OPENJDK_TARGET_OS), solaris)
85 BUILD_LIBFDLIBM_OPTIMIZATION:=NONE
86 endif
87
88 ifneq ($(OPENJDK_TARGET_OS),macosx)
89 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\
90 STATIC_LIBRARY:=fdlibm,\
91 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
92 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
93 LANG:=C,\
94 OPTIMIZATION:=$(BUILD_LIBFDLIBM_OPTIMIZATION), \
95 CFLAGS:=$(CFLAGS_JDKLIB) \
96 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
97 CFLAGS_windows_debug:=-DLOGGING,\
98 ARFLAGS:=$(ARFLAGS),\
99 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
100 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
101
102 else
103
104 # On macosx the old build does partial (incremental) linking of fdlibm instead of
105 # a plain static library.
106 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM_MAC,\
107 LIBRARY:=fdlibm,\
108 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
109 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
110 LANG:=C,\
111 CFLAGS:=$(CFLAGS_JDKLIB) \
112 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
113 LDFLAGS:=-nostdlib -r -arch x86_64,\
114 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
115 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
116
117 BUILD_LIBFDLIBM := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
233 LIBJAVA_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(OPENJDK_TARGET_CPU)
234 endif
235 endif
236
237 $(eval $(call SetupNativeCompilation,BUILD_LIBJAVA,\
238 LIBRARY:=java,\
239 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
240 SRC:=$(LIBJAVA_SRC_DIRS),\
241 EXCLUDES:=fdlibm/src zip, \
242 EXCLUDE_FILES:=$(LIBJAVA_EXCLUDE_FILES), \
243 LANG:=C,\
244 OPTIMIZATION:=HIGH, \
245 CFLAGS:=$(CFLAGS_JDKLIB) \
246 $(LIBJAVA_CFLAGS),\
247 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \
248 LDFLAGS:=$(LDFLAGS_JDKLIB) \
249 $(call SET_SHARED_LIBRARY_ORIGIN), \
250 LDFLAGS_SUFFIX_posix:=-ljvm -lverify, \
251 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc,\
252 LDFLAGS_SUFFIX_linux:=$(LIBDL) $(BUILD_LIBFDLIBM),\
253 LDFLAGS_SUFFIX_macosx:=-L$(JDK_OUTPUTDIR)/objs/ -lfdlibm \
254 -framework CoreFoundation \
255 -framework Security -framework SystemConfiguration, \
256 LDFLAGS_SUFFIX_windows:=-export:winFileHandleOpen -export:handleLseek \
257 jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
258 shell32.lib delayimp.lib -DELAYLOAD:shell32.dll \
259 advapi32.lib,\
260 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
261 RC_FLAGS:=$(RC_FLAGS)\
262 -D "JDK_FNAME=java.dll" \
263 -D "JDK_INTERNAL_NAME=java" \
264 -D "JDK_FTYPE=0x2L",\
265 REORDER:=$(LIBJAVA_REORDER), \
266 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava,\
267 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
268
269 BUILD_LIBRARIES += $(BUILD_LIBJAVA)
270
271 $(BUILD_LIBJAVA) : $(LIBJLI_BINARY)
272
535 IntBgr.c \
536 IntRgbx.c \
537 Any4Byte.c \
538 FourByteAbgr.c \
539 FourByteAbgrPre.c \
540 BufferedMaskBlit.c \
541 BufferedRenderPipe.c \
542 ShapeSpanIterator.c \
543 SpanClipRenderer.c \
544 awt_ImageRep.c \
545 awt_ImagingLib.c \
546 awt_Mlib.c \
547 awt_parseImage.c \
548 DataBufferNative.c \
549 dither.c \
550 debug_assert.c \
551 debug_mem.c \
552 debug_trace.c \
553 debug_util.c
554
555 ifneq (,$(filter $(OPENJDK_TARGET_OS), solaris linux))
556 LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
557 endif
558
559 ifeq ($(OPENJDK_TARGET_OS),macosx)
560 LIBAWT_FILES += awt_LoadLibrary.c img_colors.c
561 LIBAWT_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/apple/resources
562 LIBAWT_FILES += awt_LoadLibrary.c MacOSXResourceBundle.m
563 LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
564
565 LIBAWT_MacOSXResourceBundle.m_CFLAGS:=-O0
566 endif
567
568 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
569 LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
570 LIBAWT_CFLAGS += -xarch=sparcvis
571 LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il
572 LIBAWT_CFLAGS += \
573 -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
574 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \
575 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
706
707 LIBAWT_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
708 ifeq ($(OPENJDK_TARGET_OS),linux)
709 LIBAWT_MAPFILE:=
710 endif
711
712 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\
713 LIBRARY:=awt,\
714 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
715 SRC:=$(LIBAWT_DIRS),\
716 INCLUDE_FILES:=$(LIBAWT_FILES),\
717 LANG:=$(LIBAWT_LANG),\
718 OPTIMIZATION:=LOW, \
719 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS),\
720 ASFLAGS:=$(LIBAWT_ASFLAGS),\
721 MAPFILE:=$(LIBAWT_MAPFILE), \
722 LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
723 LDFLAGS_solaris:=-R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
724 LDFLAGS_SUFFIX_linux:=-ljvm $(LIBM) $(LIBDL) -ljava,\
725 LDFLAGS_SUFFIX_solaris:=-ljvm $(LIBM) $(LIBDL) -ljava -lc,\
726 LDFLAGS_SUFFIX_macosx:=-lmlib_image -ljvm $(LIBM) \
727 -framework Cocoa \
728 -framework OpenGL \
729 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
730 -framework JavaNativeFoundation \
731 -framework JavaRuntimeSupport \
732 -framework ApplicationServices \
733 -framework AudioToolbox \
734 -ljava,\
735 LDFLAGS_SUFFIX_windows:=kernel32.lib user32.lib gdi32.lib winspool.lib \
736 imm32.lib ole32.lib uuid.lib shell32.lib \
737 comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
738 delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
739 -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
740 -DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \
741 -DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \
742 -DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \
743 -DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll,\
744 VERSIONINFO_RESOURCE:=$(LIBAWT_VERSIONINFO_RESOURCE),\
745 RC_FLAGS:=$(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
951 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
952 LANG:=C,\
953 OPTIMIZATION:=LOW, \
954 SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip,\
955 EXCLUDES:=$(LIBZIP_EXCLUDES),\
956 CFLAGS:=$(CFLAGS_JDKLIB) \
957 $(ZLIB_CPPFLAGS) \
958 -I$(JDK_TOPDIR)/src/share/native/java/io \
959 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io,\
960 CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\
961 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
962 REORDER:=$(BUILD_LIBZIP_REORDER), \
963 LDFLAGS:=$(LDFLAGS_JDKLIB) \
964 $(call SET_SHARED_LIBRARY_ORIGIN) \
965 $(EXPORT_ZIP_FUNCS), \
966 LDFLAGS_windows:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
967 -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
968 $(WIN_JAVA_LIB),\
969 LDFLAGS_SUFFIX_linux:=-ljvm -ljava $(LIBZ),\
970 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ) -lc,\
971 LDFLAGS_SUFFIX_macosx:=$(LIBZ) -ljava -ljvm,\
972 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
973 RC_FLAGS:=$(RC_FLAGS)\
974 -D "JDK_FNAME=zip.dll" \
975 -D "JDK_INTERNAL_NAME=zip" \
976 -D "JDK_FTYPE=0x2L",\
977 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip,\
978 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
979
980 $(BUILD_LIBZIP) : $(BUILD_LIBJAVA)
981
982 BUILD_LIBRARIES += $(BUILD_LIBZIP)
983
984 ##########################################################################################
985
986 $(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
987 LIBRARY:=unpack, \
988 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
989 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
990 EXCLUDE_FILES:=main.cpp,\
1016 $(ECHO) Copying $(@F)
1017 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
1018
1019 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
1020 $(ECHO) Copying $(@F)
1021 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
1022 endif
1023
1024 ##########################################################################################
1025
1026 LIBATTACH_EXCLUDE_FILES:=
1027 ifneq ($(OPENJDK_TARGET_OS),solaris)
1028 LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
1029 endif
1030 ifneq ($(OPENJDK_TARGET_OS),linux)
1031 LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
1032 endif
1033 ifneq ($(OPENJDK_TARGET_OS),macosx)
1034 LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
1035 endif
1036
1037 $(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
1038 LIBRARY:=attach, \
1039 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1040 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach,\
1041 EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
1042 LANG:=C,\
1043 OPTIMIZATION:=LOW, \
1044 CFLAGS:=$(CFLAGS_JDKLIB),\
1045 CFLAGS_windows:=/Gy,\
1046 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
1047 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1048 RC_FLAGS:=$(RC_FLAGS) \
1049 -D "JDK_FNAME=attach.dll" \
1050 -D "JDK_INTERNAL_NAME=attach" \
1051 -D "JDK_FTYPE=0x2L",\
1052 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1053 $(call SET_SHARED_LIBRARY_ORIGIN),\
1054 LDFLAGS_solaris:=-ldoor,\
1055 LDFLAGS_windows:=/ORDER:@$(JDK_TOPDIR)/makefiles/mapfiles/libattach/reorder-windows-$(OPENJDK_TARGET_CPU),\
1238 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
1239 LIBRARY:=lcms,\
1240 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1241 SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms,\
1242 LANG:=C,\
1243 OPTIMIZATION:=HIGHEST, \
1244 CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \
1245 $(SHARED_LIBRARY_FLAGS) \
1246 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1247 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
1248 CFLAGS_solaris:=-xc99=no_lib,\
1249 CFLAGS_windows:=-DCMS_IS_WINDOWS_,\
1250 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
1251 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1252 $(call SET_SHARED_LIBRARY_ORIGIN), \
1253 LDFLAGS_solaris:=/usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2,\
1254 LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
1255 LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\
1256 LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\
1257 LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\
1258 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1259 RC_FLAGS:=$(RC_FLAGS)\
1260 -D "JDK_FNAME=lcms.dll" \
1261 -D "JDK_INTERNAL_NAME=lcms" \
1262 -D "JDK_FTYPE=0x2L",\
1263 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\
1264 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
1265
1266 BUILD_LIBRARIES += $(BUILD_LIBLCMS)
1267
1268 $(BUILD_LIBLCMS) : $(BUILD_LIBAWT)
1269
1270 ##########################################################################################
1271
1272 ifdef OPENJDK
1273 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
1274 else
1275 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
1276 BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
1277 BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
1371
1372 $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
1373 LIBRARY:=fontmanager, \
1374 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1375 SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
1376 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font,\
1377 EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
1378 AccelGlyphCache.c,\
1379 LANG:=C++,\
1380 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1381 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1382 OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \
1383 CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
1384 -DCC_NOEX, \
1385 MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \
1386 LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
1387 $(call SET_SHARED_LIBRARY_ORIGIN),\
1388 LDFLAGS_SUFFIX:=$(BUILD_LIBFONTMANAGER_FONTLIB),\
1389 LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc,\
1390 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm,\
1391 LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
1392 -ljava -ljvm,\
1393 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
1394 $(WIN_AWT_LIB),\
1395 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1396 RC_FLAGS:=$(RC_FLAGS)\
1397 -D "JDK_FNAME=fontmanager.dll" \
1398 -D "JDK_INTERNAL_NAME=fontmanager" \
1399 -D "JDK_FTYPE=0x2L",\
1400 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\
1401 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
1402
1403 $(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT)
1404
1405 ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx))
1406 $(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT)
1407 endif
1408
1409 BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
1410
1411 ##########################################################################################
1412
1413 ifndef OPENJDK
1414
1415 # ifeq ($(OPENJDK_TARGET_OS), linux)
1416 # ifeq ("$(CC_VER_MAJOR)", "3")
1417 # OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
1418 # endif
1419 # endif
1420 #
1421 # The resulting size of the t2k lib file is (at least on linux) dependant on the order of
1422 # the input .o files. Because of this the new build will differ in size to the old build.
1423 BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
1424 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1425 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
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
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
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
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
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, \
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" \
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,\
2396 endif
2397
2398 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
2399 LIBRARY:=awt_headless,\
2400 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2401 SRC:=$(LIBAWT_HEADLESS_DIRS),\
2402 INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\
2403 LANG:=C,\
2404 OPTIMIZATION:=LOW, \
2405 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\
2406 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers,\
2407 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2408 $(call SET_SHARED_LIBRARY_ORIGIN),\
2409 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2410 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \
2411 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
2412 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
2413 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\
2414 REORDER:=$(LIBAWT_HEADLESS_REORDER), \
2415 LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\
2416 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc,\
2417 LDFLAGS_SUFFIX_macosx:=-ljvm $(LIBCXX) -lawt $(LIBDL) -ljava \
2418 -framework Accelerate \
2419 -framework ApplicationServices \
2420 -framework Cocoa \
2421 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2422 -framework JavaNativeFoundation \
2423 -framework JavaRuntimeSupport,\
2424 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless,\
2425 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
2426
2427 $(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT)
2428
2429 BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
2430
2431 endif
2432 endif
2433
2434 ##########################################################################################
2435
2798 DirectAudioDevice.c
2799
2800 ifeq ($(OPENJDK_TARGET_OS), windows)
2801 EXTRA_SOUND_JNI_LIBS += jsoundds
2802 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
2803 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2804 -DUSE_PLATFORM_MIDI_IN=TRUE \
2805 -DUSE_PORTS=TRUE
2806 LIBJSOUND_SRC_FILES += \
2807 PLATFORM_API_WinOS_MidiIn.cpp \
2808 PLATFORM_API_WinOS_MidiOut.c \
2809 PLATFORM_API_WinOS_Util.c \
2810 PLATFORM_API_WinOS_Ports.c
2811 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2812 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2813 endif # OPENJDK_TARGET_OS windows
2814
2815 ifeq ($(OPENJDK_TARGET_OS), linux)
2816 EXTRA_SOUND_JNI_LIBS += jsoundalsa
2817 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
2818 endif # OPENJDK_TARGET_OS linux
2819
2820 ifeq ($(OPENJDK_TARGET_OS), macosx)
2821 LIBJSOUND_LANG:=C++
2822 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
2823 -DUSE_PORTS=TRUE \
2824 -DUSE_DAUDIO=TRUE \
2825 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2826 -DUSE_PLATFORM_MIDI_IN=TRUE
2827 LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
2828 LIBJSOUND_SRC_FILES += \
2829 PLATFORM_API_MacOSX_Utils.cpp \
2830 PLATFORM_API_MacOSX_PCM.cpp \
2831 PLATFORM_API_MacOSX_Ports.cpp \
2832 PLATFORM_API_MacOSX_MidiIn.c \
2833 PLATFORM_API_MacOSX_MidiOut.c \
2834 PLATFORM_API_MacOSX_MidiUtils.c
2835 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2836 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2837 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
|
78 OPENWIN_LIB:=$(OPENWIN_HOME)/lib
79
80 ##########################################################################################
81
82 BUILD_LIBFDLIBM_OPTIMIZATION:=HIGH
83
84 ifneq ($(OPENJDK_TARGET_OS), solaris)
85 BUILD_LIBFDLIBM_OPTIMIZATION:=NONE
86 endif
87
88 ifneq ($(OPENJDK_TARGET_OS),macosx)
89 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\
90 STATIC_LIBRARY:=fdlibm,\
91 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
92 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
93 LANG:=C,\
94 OPTIMIZATION:=$(BUILD_LIBFDLIBM_OPTIMIZATION), \
95 CFLAGS:=$(CFLAGS_JDKLIB) \
96 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
97 CFLAGS_windows_debug:=-DLOGGING,\
98 CFLAGS_aix:=-qfloat=nomaf,\
99 ARFLAGS:=$(ARFLAGS),\
100 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
101 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
102
103 else
104
105 # On macosx the old build does partial (incremental) linking of fdlibm instead of
106 # a plain static library.
107 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM_MAC,\
108 LIBRARY:=fdlibm,\
109 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
110 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
111 LANG:=C,\
112 CFLAGS:=$(CFLAGS_JDKLIB) \
113 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
114 LDFLAGS:=-nostdlib -r -arch x86_64,\
115 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
116 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
117
118 BUILD_LIBFDLIBM := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
234 LIBJAVA_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(OPENJDK_TARGET_CPU)
235 endif
236 endif
237
238 $(eval $(call SetupNativeCompilation,BUILD_LIBJAVA,\
239 LIBRARY:=java,\
240 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
241 SRC:=$(LIBJAVA_SRC_DIRS),\
242 EXCLUDES:=fdlibm/src zip, \
243 EXCLUDE_FILES:=$(LIBJAVA_EXCLUDE_FILES), \
244 LANG:=C,\
245 OPTIMIZATION:=HIGH, \
246 CFLAGS:=$(CFLAGS_JDKLIB) \
247 $(LIBJAVA_CFLAGS),\
248 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \
249 LDFLAGS:=$(LDFLAGS_JDKLIB) \
250 $(call SET_SHARED_LIBRARY_ORIGIN), \
251 LDFLAGS_SUFFIX_posix:=-ljvm -lverify, \
252 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc,\
253 LDFLAGS_SUFFIX_linux:=$(LIBDL) $(BUILD_LIBFDLIBM),\
254 LDFLAGS_SUFFIX_aix:=$(LIBDL) $(BUILD_LIBFDLIBM) -lm,\
255 LDFLAGS_SUFFIX_macosx:=-L$(JDK_OUTPUTDIR)/objs/ -lfdlibm \
256 -framework CoreFoundation \
257 -framework Security -framework SystemConfiguration, \
258 LDFLAGS_SUFFIX_windows:=-export:winFileHandleOpen -export:handleLseek \
259 jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
260 shell32.lib delayimp.lib -DELAYLOAD:shell32.dll \
261 advapi32.lib,\
262 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
263 RC_FLAGS:=$(RC_FLAGS)\
264 -D "JDK_FNAME=java.dll" \
265 -D "JDK_INTERNAL_NAME=java" \
266 -D "JDK_FTYPE=0x2L",\
267 REORDER:=$(LIBJAVA_REORDER), \
268 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava,\
269 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
270
271 BUILD_LIBRARIES += $(BUILD_LIBJAVA)
272
273 $(BUILD_LIBJAVA) : $(LIBJLI_BINARY)
274
537 IntBgr.c \
538 IntRgbx.c \
539 Any4Byte.c \
540 FourByteAbgr.c \
541 FourByteAbgrPre.c \
542 BufferedMaskBlit.c \
543 BufferedRenderPipe.c \
544 ShapeSpanIterator.c \
545 SpanClipRenderer.c \
546 awt_ImageRep.c \
547 awt_ImagingLib.c \
548 awt_Mlib.c \
549 awt_parseImage.c \
550 DataBufferNative.c \
551 dither.c \
552 debug_assert.c \
553 debug_mem.c \
554 debug_trace.c \
555 debug_util.c
556
557 ifneq (,$(filter $(OPENJDK_TARGET_OS), solaris linux aix))
558 LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
559 endif
560
561 ifeq ($(OPENJDK_TARGET_OS),macosx)
562 LIBAWT_FILES += awt_LoadLibrary.c img_colors.c
563 LIBAWT_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/apple/resources
564 LIBAWT_FILES += awt_LoadLibrary.c MacOSXResourceBundle.m
565 LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
566
567 LIBAWT_MacOSXResourceBundle.m_CFLAGS:=-O0
568 endif
569
570 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
571 LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
572 LIBAWT_CFLAGS += -xarch=sparcvis
573 LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il
574 LIBAWT_CFLAGS += \
575 -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
576 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \
577 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
708
709 LIBAWT_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
710 ifeq ($(OPENJDK_TARGET_OS),linux)
711 LIBAWT_MAPFILE:=
712 endif
713
714 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\
715 LIBRARY:=awt,\
716 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
717 SRC:=$(LIBAWT_DIRS),\
718 INCLUDE_FILES:=$(LIBAWT_FILES),\
719 LANG:=$(LIBAWT_LANG),\
720 OPTIMIZATION:=LOW, \
721 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS),\
722 ASFLAGS:=$(LIBAWT_ASFLAGS),\
723 MAPFILE:=$(LIBAWT_MAPFILE), \
724 LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
725 LDFLAGS_solaris:=-R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
726 LDFLAGS_SUFFIX_linux:=-ljvm $(LIBM) $(LIBDL) -ljava,\
727 LDFLAGS_SUFFIX_solaris:=-ljvm $(LIBM) $(LIBDL) -ljava -lc,\
728 LDFLAGS_SUFFIX_aix:=-ljvm $(LIBM) $(LIBDL) -ljava -lm,\
729 LDFLAGS_SUFFIX_macosx:=-lmlib_image -ljvm $(LIBM) \
730 -framework Cocoa \
731 -framework OpenGL \
732 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
733 -framework JavaNativeFoundation \
734 -framework JavaRuntimeSupport \
735 -framework ApplicationServices \
736 -framework AudioToolbox \
737 -ljava,\
738 LDFLAGS_SUFFIX_windows:=kernel32.lib user32.lib gdi32.lib winspool.lib \
739 imm32.lib ole32.lib uuid.lib shell32.lib \
740 comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
741 delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
742 -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
743 -DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \
744 -DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \
745 -DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \
746 -DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll,\
747 VERSIONINFO_RESOURCE:=$(LIBAWT_VERSIONINFO_RESOURCE),\
748 RC_FLAGS:=$(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
954 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
955 LANG:=C,\
956 OPTIMIZATION:=LOW, \
957 SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip,\
958 EXCLUDES:=$(LIBZIP_EXCLUDES),\
959 CFLAGS:=$(CFLAGS_JDKLIB) \
960 $(ZLIB_CPPFLAGS) \
961 -I$(JDK_TOPDIR)/src/share/native/java/io \
962 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io,\
963 CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\
964 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
965 REORDER:=$(BUILD_LIBZIP_REORDER), \
966 LDFLAGS:=$(LDFLAGS_JDKLIB) \
967 $(call SET_SHARED_LIBRARY_ORIGIN) \
968 $(EXPORT_ZIP_FUNCS), \
969 LDFLAGS_windows:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
970 -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
971 $(WIN_JAVA_LIB),\
972 LDFLAGS_SUFFIX_linux:=-ljvm -ljava $(LIBZ),\
973 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ) -lc,\
974 LDFLAGS_SUFFIX_aix:=-ljvm -ljava $(LIBZ),\
975 LDFLAGS_SUFFIX_macosx:=$(LIBZ) -ljava -ljvm,\
976 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
977 RC_FLAGS:=$(RC_FLAGS)\
978 -D "JDK_FNAME=zip.dll" \
979 -D "JDK_INTERNAL_NAME=zip" \
980 -D "JDK_FTYPE=0x2L",\
981 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip,\
982 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
983
984 $(BUILD_LIBZIP) : $(BUILD_LIBJAVA)
985
986 BUILD_LIBRARIES += $(BUILD_LIBZIP)
987
988 ##########################################################################################
989
990 $(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
991 LIBRARY:=unpack, \
992 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
993 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
994 EXCLUDE_FILES:=main.cpp,\
1020 $(ECHO) Copying $(@F)
1021 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
1022
1023 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
1024 $(ECHO) Copying $(@F)
1025 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
1026 endif
1027
1028 ##########################################################################################
1029
1030 LIBATTACH_EXCLUDE_FILES:=
1031 ifneq ($(OPENJDK_TARGET_OS),solaris)
1032 LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
1033 endif
1034 ifneq ($(OPENJDK_TARGET_OS),linux)
1035 LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
1036 endif
1037 ifneq ($(OPENJDK_TARGET_OS),macosx)
1038 LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
1039 endif
1040 ifneq ($(OPENJDK_TARGET_OS),aix)
1041 LIBATTACH_EXCLUDE_FILES+=AixVirtualMachine.c
1042 endif
1043
1044 $(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
1045 LIBRARY:=attach, \
1046 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1047 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach,\
1048 EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
1049 LANG:=C,\
1050 OPTIMIZATION:=LOW, \
1051 CFLAGS:=$(CFLAGS_JDKLIB),\
1052 CFLAGS_windows:=/Gy,\
1053 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
1054 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1055 RC_FLAGS:=$(RC_FLAGS) \
1056 -D "JDK_FNAME=attach.dll" \
1057 -D "JDK_INTERNAL_NAME=attach" \
1058 -D "JDK_FTYPE=0x2L",\
1059 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1060 $(call SET_SHARED_LIBRARY_ORIGIN),\
1061 LDFLAGS_solaris:=-ldoor,\
1062 LDFLAGS_windows:=/ORDER:@$(JDK_TOPDIR)/makefiles/mapfiles/libattach/reorder-windows-$(OPENJDK_TARGET_CPU),\
1245 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
1246 LIBRARY:=lcms,\
1247 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1248 SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms,\
1249 LANG:=C,\
1250 OPTIMIZATION:=HIGHEST, \
1251 CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \
1252 $(SHARED_LIBRARY_FLAGS) \
1253 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1254 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
1255 CFLAGS_solaris:=-xc99=no_lib,\
1256 CFLAGS_windows:=-DCMS_IS_WINDOWS_,\
1257 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
1258 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1259 $(call SET_SHARED_LIBRARY_ORIGIN), \
1260 LDFLAGS_solaris:=/usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2,\
1261 LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
1262 LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\
1263 LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\
1264 LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\
1265 LDFLAGS_SUFFIX_aix:=-lm -lawt -ljava -ljvm,\
1266 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1267 RC_FLAGS:=$(RC_FLAGS)\
1268 -D "JDK_FNAME=lcms.dll" \
1269 -D "JDK_INTERNAL_NAME=lcms" \
1270 -D "JDK_FTYPE=0x2L",\
1271 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\
1272 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
1273
1274 BUILD_LIBRARIES += $(BUILD_LIBLCMS)
1275
1276 $(BUILD_LIBLCMS) : $(BUILD_LIBAWT)
1277
1278 ##########################################################################################
1279
1280 ifdef OPENJDK
1281 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
1282 else
1283 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
1284 BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
1285 BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
1379
1380 $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
1381 LIBRARY:=fontmanager, \
1382 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1383 SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
1384 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font,\
1385 EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
1386 AccelGlyphCache.c,\
1387 LANG:=C++,\
1388 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1389 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1390 OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \
1391 CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
1392 -DCC_NOEX, \
1393 MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \
1394 LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
1395 $(call SET_SHARED_LIBRARY_ORIGIN),\
1396 LDFLAGS_SUFFIX:=$(BUILD_LIBFONTMANAGER_FONTLIB),\
1397 LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc,\
1398 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm,\
1399 LDFLAGS_SUFFIX_aix:=-lawt -lawt_xawt $(LIBM) $(LIBCXX) -ljava -ljvm,\
1400 LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
1401 -ljava -ljvm,\
1402 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
1403 $(WIN_AWT_LIB),\
1404 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1405 RC_FLAGS:=$(RC_FLAGS)\
1406 -D "JDK_FNAME=fontmanager.dll" \
1407 -D "JDK_INTERNAL_NAME=fontmanager" \
1408 -D "JDK_FTYPE=0x2L",\
1409 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\
1410 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
1411
1412 $(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT)
1413
1414 ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx aix))
1415 $(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT)
1416 endif
1417
1418 BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
1419
1420 ##########################################################################################
1421
1422 ifndef OPENJDK
1423
1424 # ifeq ($(OPENJDK_TARGET_OS), linux)
1425 # ifeq ("$(CC_VER_MAJOR)", "3")
1426 # OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
1427 # endif
1428 # endif
1429 #
1430 # The resulting size of the t2k lib file is (at least on linux) dependant on the order of
1431 # the input .o files. Because of this the new build will differ in size to the old build.
1432 BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
1433 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1434 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1531 JAWT_FILES:=jawt.m
1532 JAWT_LIBS:=-lawt_lwawt
1533 endif
1534
1535 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1536 LIBRARY:=jawt, \
1537 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1538 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
1539 $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
1540 INCLUDE_FILES:=$(JAWT_FILES),\
1541 LANG:=C,\
1542 OPTIMIZATION:=LOW, \
1543 CFLAGS:=$(CFLAGS_JDKLIB), \
1544 CFLAGS_linux:=$(HEADLESS_CFLAG),\
1545 CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
1546 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
1547 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1548 $(call SET_SHARED_LIBRARY_ORIGIN),\
1549 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
1550 LDFLAGS_SUFFIX_linux:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\
1551 LDFLAGS_SUFFIX_aix:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\
1552 LDFLAGS_SUFFIX_solaris:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender,\
1553 LDFLAGS_SUFFIX_macosx:=-Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
1554 -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX),\
1555 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
1556 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
1557
1558 ifndef BUILD_HEADLESS_ONLY
1559 $(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT)
1560 else
1561 $(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
1562 endif
1563
1564 ifeq ($(OPENJDK_TARGET_OS),macosx)
1565 $(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
1566 endif
1567
1568 endif # OPENJDK_TARGET_OS
1569
1570 BUILD_LIBRARIES += $(BUILD_LIBJAWT)
1571
1615 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1616 SRC:=$(LIBINSTRUMENT_SRC),\
1617 INCLUDE_FILES:=$(LIBINSTRUMENT_FILES),\
1618 LANG:=C,\
1619 OPTIMIZATION:=LOW, \
1620 CFLAGS:=$(LIBINSTRUMENT_CFLAGS),\
1621 CFLAGS_debug:=-DJPLIS_LOGGING,\
1622 CFLAGS_release:=-DNO_JPLIS_LOGGING,\
1623 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
1624 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1625 $(call SET_SHARED_LIBRARY_ORIGIN) \
1626 $(LIBINSTRUMENT_LDFLAGS),\
1627 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1628 LDFLAGS_solaris:= $(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1629 LDFLAGS_macosx:=-Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
1630 -framework Cocoa -framework Security -framework ApplicationServices,\
1631 LDFLAGS_SUFFIX:=$(LIBINSTRUMENT_LDFLAGS_SUFFIX),\
1632 LDFLAGS_SUFFIX_macosx:=-liconv $(LIBZ),\
1633 LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc,\
1634 LDFLAGS_SUFFIX_linux:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\
1635 LDFLAGS_SUFFIX_aix:=$(LIBZ) -L$(JDK_OUTPUTDIR)/objs -ljli_static $(LIBDL),\
1636 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1637 RC_FLAGS:=$(RC_FLAGS)\
1638 -D "JDK_FNAME=instrument.dll" \
1639 -D "JDK_INTERNAL_NAME=instrument" \
1640 -D "JDK_FTYPE=0x2L",\
1641 OBJECT_DIR:=$(LIBINSTRUMENT_DIR),\
1642 DEBUG_SYMBOLS:=true))
1643
1644 ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows aix))
1645 $(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
1646 else
1647 $(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
1648 endif
1649 $(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA)
1650
1651 BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
1652
1653 ##########################################################################################
1654
1655 BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \
1656 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \
1657 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management
1658
1659 BUILD_LIBMANAGEMENT_EXCLUDES:=
1660
1661 BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management
1662
1663 ifneq ($(OPENJDK_TARGET_OS), windows)
1664 BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
1682 ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
1683 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
1684 LIBMANAGEMENT_OPTIMIZATION:=LOW
1685 endif
1686 endif
1687
1688 $(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
1689 LIBRARY:=management,\
1690 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1691 SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
1692 EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
1693 LANG:=C,\
1694 OPTIMIZATION:=$(LIBMANAGEMENT_OPTIMIZATION), \
1695 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\
1696 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
1697 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1698 $(call SET_SHARED_LIBRARY_ORIGIN),\
1699 LDFLAGS_solaris:=-lkstat,\
1700 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
1701 LDFLAGS_SUFFIX_windows:=jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib,\
1702 LDFLAGS_SUFFIX_aix:=-lperfstat,\
1703 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1704 RC_FLAGS:=$(RC_FLAGS)\
1705 -D "JDK_FNAME=management.dll" \
1706 -D "JDK_INTERNAL_NAME=management" \
1707 -D "JDK_FTYPE=0x2L",\
1708 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
1709 DEBUG_SYMBOLS:=true))
1710
1711 $(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA)
1712
1713 BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
1714
1715 ##########################################################################################
1716
1717 BUILD_LIBHPROF_SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/demo/jvmti/hprof
1718 BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
1719 -I$(JDK_TOPDIR)/src/share/npt \
1720 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
1721 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
1722
1805 DEBUG_SYMBOLS:=true))
1806
1807 BUILD_LIBRARIES += $(BUILD_LIBNPT)
1808
1809 ##########################################################################################
1810
1811 LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \
1812 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \
1813 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \
1814 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi
1815
1816 ifeq ($(OPENJDK_TARGET_OS),windows)
1817 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm
1818 else
1819 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp
1820 endif
1821
1822 LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
1823
1824 LIBNET_EXCLUDE_FILES:=
1825 ifeq (,$(filter $(OPENJDK_TARGET_OS), linux aix))
1826 LIBNET_EXCLUDE_FILES += linux_close.c
1827 endif
1828
1829 ifneq ($(OPENJDK_TARGET_OS),macosx)
1830 LIBNET_EXCLUDE_FILES += bsd_close.c
1831 endif
1832
1833 ifeq ($(OPENJDK_TARGET_OS),windows)
1834 LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
1835 else
1836 LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
1837 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
1838 NTLMAuthSequence.c NetworkInterface_winXP.c
1839 endif
1840
1841 $(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
1842 LIBRARY:=net,\
1843 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1844 SRC:=$(LIBNET_SRC_DIRS),\
1845 EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \
1846 LANG:=C,\
1847 OPTIMIZATION:=LOW, \
1848 CFLAGS:=$(CFLAGS_JDKLIB) \
1849 $(LIBNET_CFLAGS),\
1850 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
1851 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1852 $(call SET_SHARED_LIBRARY_ORIGIN),\
1853 LDFLAGS_SUFFIX_macosx:=-ljvm -ljava,\
1854 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava -lnsl -lsocket $(LIBDL) -lc ,\
1855 LDFLAGS_SUFFIX_linux:=$(LIBDL) -ljvm -lpthread -ljava,\
1856 LDFLAGS_SUFFIX_aix:=$(LIBDL) -ljvm -ljava,\
1857 LDFLAGS_SUFFIX_windows:=ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \
1858 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \
1859 -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \
1860 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1861 RC_FLAGS:=$(RC_FLAGS)\
1862 -D "JDK_FNAME=net.dll" \
1863 -D "JDK_INTERNAL_NAME=net" \
1864 -D "JDK_FTYPE=0x2L",\
1865 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet,\
1866 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
1867
1868 $(BUILD_LIBNET) : $(BUILD_LIBJAVA)
1869
1870 BUILD_LIBRARIES += $(BUILD_LIBNET)
1871
1872 $(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
1873 $(ECHO) $(LOG_INFO) Copying $(@F)
1874 $(call install-file)
1875
1876 COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
1957 KQueueArrayWrapper.c
1958 endif
1959
1960 ifeq ($(OPENJDK_TARGET_OS), solaris)
1961 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
1962 BUILD_LIBNIO_FILES += \
1963 DevPollArrayWrapper.c \
1964 InheritedChannel.c \
1965 NativeThread.c \
1966 PollArrayWrapper.c \
1967 SolarisEventPort.c \
1968 UnixAsynchronousServerSocketChannelImpl.c \
1969 UnixAsynchronousSocketChannelImpl.c \
1970 GnomeFileTypeDetector.c \
1971 SolarisNativeDispatcher.c \
1972 SolarisWatchService.c \
1973 UnixCopyFile.c \
1974 UnixNativeDispatcher.c
1975 endif
1976
1977 ifeq ($(OPENJDK_TARGET_OS), aix)
1978 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
1979 BUILD_LIBNIO_FILES += \
1980 AixPollPort.c \
1981 InheritedChannel.c \
1982 NativeThread.c \
1983 PollArrayWrapper.c \
1984 UnixAsynchronousServerSocketChannelImpl.c \
1985 UnixAsynchronousSocketChannelImpl.c \
1986 GnomeFileTypeDetector.c \
1987 UnixCopyFile.c \
1988 AixNativeDispatcher.c \
1989 UnixNativeDispatcher.c
1990 endif
1991
1992 $(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
1993 LIBRARY:=nio,\
1994 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1995 SRC:=$(BUILD_LIBNIO_SRC),\
1996 INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \
1997 LANG:=C,\
1998 OPTIMIZATION:=HIGH, \
1999 CFLAGS:=$(CFLAGS_JDKLIB) \
2000 $(BUILD_LIBNIO_CFLAGS),\
2001 MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \
2002 LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
2003 $(call SET_SHARED_LIBRARY_ORIGIN),\
2004 LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\
2005 LDFLAGS_SUFFIX_aix:=-ljava -lnet $(LIBDL),\
2006 LDFLAGS_SUFFIX_solaris:=-ljvm -lsocket -lposix4 $(LIBDL) \
2007 -lsendfile -ljava -lnet -lc,\
2008 LDFLAGS_SUFFIX_windows:=jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
2009 $(JDK_OUTPUTDIR)/objs/libnet/net.lib \
2010 advapi32.lib,\
2011 LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread -framework CoreFoundation,\
2012 LDFLAGS_SUFFIX:=,\
2013 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2014 RC_FLAGS:=$(RC_FLAGS)\
2015 -D "JDK_FNAME=nio.dll" \
2016 -D "JDK_INTERNAL_NAME=nio" \
2017 -D "JDK_FTYPE=0x2L",\
2018 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio,\
2019 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
2020
2021 BUILD_LIBRARIES += $(BUILD_LIBNIO)
2022
2023 $(BUILD_LIBNIO) : $(BUILD_LIBNET)
2024
2025 ##########################################################################################
2026
2027 ifeq ($(OPENJDK_TARGET_OS_API),posix)
2028
2029 ifeq (,$(filter $(OPENJDK_TARGET_OS), macosx aix))
2030
2031 SCTP_WERROR := -Werror
2032 ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
2033 SCTP_WERROR :=
2034 endif
2035
2036 $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
2037 LIBRARY:=sctp,\
2038 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2039 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp,\
2040 LANG:=C,\
2041 OPTIMIZATION:=LOW, \
2042 CFLAGS:=$(CFLAGS_JDKLIB)\
2043 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
2044 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
2045 -I$(JDK_TOPDIR)/src/share/native/java/net \
2046 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
2047 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net,\
2048 CFLAGS_linux:=$(SCTP_WERROR),\
2049 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
2139 else
2140 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli
2141 endif
2142
2143 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
2144 LIBRARY:=jli,\
2145 OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\
2146 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2147 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2148 LANG:=C,\
2149 OPTIMIZATION:=HIGH, \
2150 CFLAGS:=$(LIBJLI_CFLAGS),\
2151 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
2152 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2153 $(call SET_SHARED_LIBRARY_ORIGIN),\
2154 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2155 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2156 LDFLAGS_macosx:=-framework Cocoa -framework Security -framework ApplicationServices,\
2157 LDFLAGS_SUFFIX_solaris:=$(LIBZ) $(LIBDL) -lc,\
2158 LDFLAGS_SUFFIX_linux:=$(LIBZ) $(LIBDL) -lc -lpthread,\
2159 LDFLAGS_SUFFIX_aix:=$(LIBZ) $(LIBDL),\
2160 LDFLAGS_SUFFIX_macosx:=$(LIBZ),\
2161 LDFLAGS_SUFFIX_windows:=\
2162 -export:JLI_Launch \
2163 -export:JLI_ManifestIterate \
2164 -export:JLI_SetTraceLauncher \
2165 -export:JLI_ReportErrorMessage \
2166 -export:JLI_ReportErrorMessageSys \
2167 -export:JLI_ReportMessage \
2168 -export:JLI_ReportExceptionDescription \
2169 -export:JLI_MemAlloc \
2170 -export:JLI_CmdToArgs \
2171 -export:JLI_GetStdArgc \
2172 -export:JLI_GetStdArgs \
2173 advapi32.lib \
2174 comctl32.lib \
2175 user32.lib,\
2176 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2177 RC_FLAGS:=$(RC_FLAGS) \
2178 -D "JDK_FNAME=jli.dll" \
2179 -D "JDK_INTERNAL_NAME=jli" \
2205 #
2206 # On macosx they do partial (incremental) linking of libjli_static.a
2207 # code it here...rather than add support to NativeCompilation
2208 # as this is first time I see it
2209 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2210 LIBRARY:=jli_static, \
2211 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2212 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2213 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2214 LANG:=C,\
2215 OPTIMIZATION:=HIGH, \
2216 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS),\
2217 LDFLAGS:=-nostdlib -r,\
2218 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
2219 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
2220
2221 $(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC)
2222 $(call install-file)
2223
2224 BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
2225
2226 else ifeq ($(OPENJDK_TARGET_OS), aix)
2227 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2228 STATIC_LIBRARY:=jli_static,\
2229 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2230 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2231 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2232 LANG:=C,\
2233 OPTIMIZATION:=HIGH, \
2234 CFLAGS:=$(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS),\
2235 ARFLAGS:=$(ARFLAGS),\
2236 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
2237
2238 BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
2239
2240 endif
2241
2242 ##########################################################################################
2243
2244 ifndef OPENJDK
2245 ifeq ($(ENABLE_JFR), true)
2246
2247 $(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
2248 LIBRARY:=jfr,\
2249 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2250 SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
2251 LANG:=C,\
2252 OPTIMIZATION:=LOW, \
2253 CFLAGS:=$(CFLAGS_JDKLIB) \
2254 -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
2255 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
2256 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2257 $(call SET_SHARED_LIBRARY_ORIGIN),\
2258 LDFLAGS_SUFFIX_solaris:=-lc,\
2259 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2441 endif
2442
2443 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
2444 LIBRARY:=awt_headless,\
2445 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2446 SRC:=$(LIBAWT_HEADLESS_DIRS),\
2447 INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\
2448 LANG:=C,\
2449 OPTIMIZATION:=LOW, \
2450 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\
2451 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers,\
2452 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2453 $(call SET_SHARED_LIBRARY_ORIGIN),\
2454 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2455 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \
2456 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
2457 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
2458 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\
2459 REORDER:=$(LIBAWT_HEADLESS_REORDER), \
2460 LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\
2461 LDFLAGS_SUFFIX_aix:=-ljvm -lawt -ljava,\
2462 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc,\
2463 LDFLAGS_SUFFIX_macosx:=-ljvm $(LIBCXX) -lawt $(LIBDL) -ljava \
2464 -framework Accelerate \
2465 -framework ApplicationServices \
2466 -framework Cocoa \
2467 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2468 -framework JavaNativeFoundation \
2469 -framework JavaRuntimeSupport,\
2470 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless,\
2471 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
2472
2473 $(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT)
2474
2475 BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
2476
2477 endif
2478 endif
2479
2480 ##########################################################################################
2481
2844 DirectAudioDevice.c
2845
2846 ifeq ($(OPENJDK_TARGET_OS), windows)
2847 EXTRA_SOUND_JNI_LIBS += jsoundds
2848 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
2849 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2850 -DUSE_PLATFORM_MIDI_IN=TRUE \
2851 -DUSE_PORTS=TRUE
2852 LIBJSOUND_SRC_FILES += \
2853 PLATFORM_API_WinOS_MidiIn.cpp \
2854 PLATFORM_API_WinOS_MidiOut.c \
2855 PLATFORM_API_WinOS_Util.c \
2856 PLATFORM_API_WinOS_Ports.c
2857 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2858 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2859 endif # OPENJDK_TARGET_OS windows
2860
2861 ifeq ($(OPENJDK_TARGET_OS), linux)
2862 EXTRA_SOUND_JNI_LIBS += jsoundalsa
2863 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
2864 endif # OPENJDK_TARGET_OS linux
2865
2866 ifeq ($(OPENJDK_TARGET_OS), aix)
2867 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_AIX
2868 endif # OPENJDK_TARGET_OS linux
2869
2870 ifeq ($(OPENJDK_TARGET_OS), macosx)
2871 LIBJSOUND_LANG:=C++
2872 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
2873 -DUSE_PORTS=TRUE \
2874 -DUSE_DAUDIO=TRUE \
2875 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2876 -DUSE_PLATFORM_MIDI_IN=TRUE
2877 LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
2878 LIBJSOUND_SRC_FILES += \
2879 PLATFORM_API_MacOSX_Utils.cpp \
2880 PLATFORM_API_MacOSX_PCM.cpp \
2881 PLATFORM_API_MacOSX_Ports.cpp \
2882 PLATFORM_API_MacOSX_MidiIn.c \
2883 PLATFORM_API_MacOSX_MidiOut.c \
2884 PLATFORM_API_MacOSX_MidiUtils.c
2885 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2886 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2887 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
|