comparison make/solaris/makefiles/jsig.make @ 6020:d652a62d6e03

7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris Summary: Add support for ENABLE_FULL_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES build flags. Add support for .diz files. Reviewed-by: dholmes, ohair, sspitsyn
author dcubed
date Fri, 23 Mar 2012 11:50:33 -0700
parents da0999c4b733
children 9c1709c4c80c
comparison
equal deleted inserted replaced
4958:3b24e7e01d20 6020:d652a62d6e03
1 # 1 #
2 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. 2 # Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 # 4 #
5 # This code is free software; you can redistribute it and/or modify it 5 # This code is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License version 2 only, as 6 # under the terms of the GNU General Public License version 2 only, as
7 # published by the Free Software Foundation. 7 # published by the Free Software Foundation.
30 30
31 JSIG_G = $(JSIG)$(G_SUFFIX) 31 JSIG_G = $(JSIG)$(G_SUFFIX)
32 LIBJSIG_G = lib$(JSIG_G).so 32 LIBJSIG_G = lib$(JSIG_G).so
33 33
34 LIBJSIG_DEBUGINFO = lib$(JSIG).debuginfo 34 LIBJSIG_DEBUGINFO = lib$(JSIG).debuginfo
35 LIBJSIG_DIZ = lib$(JSIG).diz
35 LIBJSIG_G_DEBUGINFO = lib$(JSIG_G).debuginfo 36 LIBJSIG_G_DEBUGINFO = lib$(JSIG_G).debuginfo
37 LIBJSIG_G_DIZ = lib$(JSIG_G).diz
36 38
37 JSIGSRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/vm 39 JSIGSRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/vm
38 40
39 DEST_JSIG = $(JDK_LIBDIR)/$(LIBJSIG) 41 DEST_JSIG = $(JDK_LIBDIR)/$(LIBJSIG)
40 DEST_JSIG_DEBUGINFO = $(JDK_LIBDIR)/$(LIBJSIG_DEBUGINFO) 42 DEST_JSIG_DEBUGINFO = $(JDK_LIBDIR)/$(LIBJSIG_DEBUGINFO)
43 DEST_JSIG_DIZ = $(JDK_LIBDIR)/$(LIBJSIG_DIZ)
41 44
42 LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jsig 45 LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jsig
43 46
44 LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE)) 47 LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
45 48
52 $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE) 55 $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
53 @echo Making signal interposition lib... 56 @echo Making signal interposition lib...
54 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \ 57 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
55 $(LFLAGS_JSIG) -o $@ $< -ldl 58 $(LFLAGS_JSIG) -o $@ $< -ldl
56 [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); } 59 [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); }
57 ifneq ($(OBJCOPY),) 60 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
58 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO) 61 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
59 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@ 62 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@
60 ifeq ($(STRIP_POLICY),all_strip) 63 ifeq ($(STRIP_POLICY),all_strip)
61 $(QUIETLY) $(STRIP) $@ 64 $(QUIETLY) $(STRIP) $@
62 else 65 else
64 $(QUIETLY) $(STRIP) -x $@ 67 $(QUIETLY) $(STRIP) -x $@
65 # implied else here is no stripping at all 68 # implied else here is no stripping at all
66 endif 69 endif
67 endif 70 endif
68 [ -f $(LIBJSIG_G_DEBUGINFO) ] || { ln -s $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO); } 71 [ -f $(LIBJSIG_G_DEBUGINFO) ] || { ln -s $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO); }
72 ifeq ($(ZIP_DEBUGINFO_FILES),1)
73 $(ZIPEXE) -q -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO)
74 $(RM) $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO)
75 [ -f $(LIBJSIG_G_DIZ) ] || { ln -s $(LIBJSIG_DIZ) $(LIBJSIG_G_DIZ); }
76 endif
69 endif 77 endif
70 78
71 install_jsig: $(LIBJSIG) 79 install_jsig: $(LIBJSIG)
72 @echo "Copying $(LIBJSIG) to $(DEST_JSIG)" 80 @echo "Copying $(LIBJSIG) to $(DEST_JSIG)"
73 $(QUIETLY) test -f $(LIBJSIG_DEBUGINFO) && \ 81 $(QUIETLY) test -f $(LIBJSIG_DEBUGINFO) && \
74 cp -f $(LIBJSIG_DEBUGINFO) $(DEST_JSIG_DEBUGINFO) 82 cp -f $(LIBJSIG_DEBUGINFO) $(DEST_JSIG_DEBUGINFO)
83 $(QUIETLY) test -f $(LIBJSIG_DIZ) && \
84 cp -f $(LIBJSIG_DIZ) $(DEST_JSIG_DIZ)
75 $(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done" 85 $(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done"
76 86
77 .PHONY: install_jsig 87 .PHONY: install_jsig