hotspot/make/bsd/makefiles/vm.make
changeset 33583 af842015bfaa
parent 32821 ef088e4410ea
child 34289 2d1821a50263
child 33980 cbd63978deb5
equal deleted inserted replaced
32954:7db0663a5e96 33583:af842015bfaa
   140 #----------------------------------------------------------------------
   140 #----------------------------------------------------------------------
   141 # JVM
   141 # JVM
   142 
   142 
   143 JVM    = jvm
   143 JVM    = jvm
   144 ifeq ($(OS_VENDOR), Darwin)
   144 ifeq ($(OS_VENDOR), Darwin)
   145   LIBJVM   = lib$(JVM).dylib
   145   LIBJVM   = lib$(JVM).$(LIBRARY_SUFFIX)
   146   CFLAGS  += -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE
   146   CFLAGS  += -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE
   147 
   147 
   148   LIBJVM_DEBUGINFO   = lib$(JVM).dylib.dSYM
   148   LIBJVM_DEBUGINFO   = lib$(JVM).$(LIBRARY_SUFFIX).dSYM
   149   LIBJVM_DIZ         = lib$(JVM).diz
   149   LIBJVM_DIZ         = lib$(JVM).diz
   150 else
   150 else
   151   LIBJVM   = lib$(JVM).so
   151   LIBJVM   = lib$(JVM).so
   152 
   152 
   153   LIBJVM_DEBUGINFO   = lib$(JVM).debuginfo
   153   LIBJVM_DEBUGINFO   = lib$(JVM).debuginfo
   259                  { system ("cat mapfile_extra vm.def"); } \
   259                  { system ("cat mapfile_extra vm.def"); } \
   260                else					\
   260                else					\
   261                  { print $$0 }				\
   261                  { print $$0 }				\
   262              }' > $@ < $(MAPFILE)
   262              }' > $@ < $(MAPFILE)
   263 
   263 
       
   264 ifeq ($(STATIC_BUILD),true)
       
   265 EXPORTED_SYMBOLS = libjvm.symbols
       
   266 
       
   267 libjvm.symbols : mapfile
       
   268 	$(CP) mapfile libjvm.symbols
       
   269 
       
   270 else
       
   271 EXPORTED_SYMBOLS =
       
   272 endif
       
   273 
   264 mapfile_reorder : mapfile $(REORDERFILE)
   274 mapfile_reorder : mapfile $(REORDERFILE)
   265 	rm -f $@
   275 	rm -f $@
   266 	cat $^ > $@
   276 	cat $^ > $@
   267 
   277 
   268 vm.def: $(Res_Files) $(Obj_Files)
   278 vm.def: $(Res_Files) $(Obj_Files)
   286   LIBJVM_MAPFILE$(LDNOMAP) = mapfile_reorder
   296   LIBJVM_MAPFILE$(LDNOMAP) = mapfile_reorder
   287   LFLAGS_VM$(LDNOMAP)      += $(MAPFLAG:FILENAME=$(LIBJVM_MAPFILE))
   297   LFLAGS_VM$(LDNOMAP)      += $(MAPFLAG:FILENAME=$(LIBJVM_MAPFILE))
   288   LFLAGS_VM                += $(SONAMEFLAG:SONAME=$(LIBJVM))
   298   LFLAGS_VM                += $(SONAMEFLAG:SONAME=$(LIBJVM))
   289 
   299 
   290   ifeq ($(OS_VENDOR), Darwin)
   300   ifeq ($(OS_VENDOR), Darwin)
   291     LFLAGS_VM += -Xlinker -rpath -Xlinker @loader_path/.
   301     ifneq ($(STATIC_BUILD),true)
   292     LFLAGS_VM += -Xlinker -rpath -Xlinker @loader_path/..
   302       LFLAGS_VM += -Xlinker -rpath -Xlinker @loader_path/.
   293     LFLAGS_VM += -Xlinker -install_name -Xlinker @rpath/$(@F)
   303       LFLAGS_VM += -Xlinker -rpath -Xlinker @loader_path/..
       
   304       LFLAGS_VM += -Xlinker -install_name -Xlinker @rpath/$(@F)
       
   305     endif
   294   else
   306   else
   295     LFLAGS_VM                += -Wl,-z,defs
   307     LFLAGS_VM                += -Wl,-z,defs
   296   endif
   308   endif
   297 
   309 
   298   # JVM is statically linked with libgcc[_s] and libstdc++; this is needed to
   310   # JVM is statically linked with libgcc[_s] and libstdc++; this is needed to
   343 	}
   355 	}
   344 LD_SCRIPT_FLAG = -Wl,-T,$(LD_SCRIPT)
   356 LD_SCRIPT_FLAG = -Wl,-T,$(LD_SCRIPT)
   345 endif
   357 endif
   346 
   358 
   347 $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
   359 $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
       
   360 ifeq ($(STATIC_BUILD),true)
       
   361 	echo Linking static vm...;
       
   362 	$(LINK_LIB.CC) $@ $(LIBJVM.o)
       
   363 else
   348 	$(QUIETLY) {                                                    \
   364 	$(QUIETLY) {                                                    \
   349 	    echo $(LOG_INFO) Linking vm...;                                         \
   365 	    echo $(LOG_INFO) Linking vm...;                                         \
   350 	    $(LINK_LIB.CXX/PRE_HOOK)                                     \
   366 	    $(LINK_LIB.CXX/PRE_HOOK)                                     \
   351 	    $(LINK_VM) $(LD_SCRIPT_FLAG)                                \
   367 	    $(LINK_VM) $(LD_SCRIPT_FLAG)                                \
   352 		       $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM); \
   368 		       $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM); \
   353 	    $(LINK_LIB.CXX/POST_HOOK)                                    \
   369 	    $(LINK_LIB.CXX/POST_HOOK)                                    \
   354 	    rm -f $@.1; ln -s $@ $@.1;                                  \
   370 	    rm -f $@.1; ln -s $@ $@.1;                                  \
   355 	}
   371 	}
       
   372 
       
   373 endif
   356 
   374 
   357 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   375 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   358   ifeq ($(OS_VENDOR), Darwin)
   376   ifeq ($(OS_VENDOR), Darwin)
   359 	$(DSYMUTIL) $@
   377 	$(DSYMUTIL) $@
   360     ifeq ($(ZIP_DEBUGINFO_FILES),1)
   378     ifeq ($(ZIP_DEBUGINFO_FILES),1)
   408 
   426 
   409 #----------------------------------------------------------------------
   427 #----------------------------------------------------------------------
   410 
   428 
   411 ifeq ($(OS_VENDOR), Darwin)
   429 ifeq ($(OS_VENDOR), Darwin)
   412 # no libjvm_db for macosx
   430 # no libjvm_db for macosx
   413 build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(BUILDLIBSAPROC) dtraceCheck
   431 build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(BUILDLIBSAPROC) dtraceCheck $(EXPORTED_SYMBOLS)
   414 	echo "Doing vm.make build:"
   432 	echo "Doing vm.make build:"
   415 else
   433 else
   416 build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC)
   434 build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) $(EXPORTED_SYMBOLS)
   417 endif
   435 endif
   418 
   436 
   419 install: install_jvm install_jsig install_saproc
   437 install: install_jvm install_jsig install_saproc
   420 
   438 
   421 .PHONY: default build install install_jvm
   439 .PHONY: default build install install_jvm