comparison make/bsd/makefiles/jsig.make @ 12859:f509b8f4699b

7165611: implement Full Debug Symbols on MacOS X hotspot Summary: Add MacOS X FDS support to hotspot; add minimal MacOS X FDS import support to jdk; add MacOS X FDS support to install; add MacOS X FDS support to root. Reviewed-by: erikj, sla, dholmes, rdurbin, tbell, ihse
author dcubed
date Tue, 15 Oct 2013 08:25:43 -0700
parents 892acf0431ef
children ec0f6ecc0b7a 67d6392ed21e
comparison
equal deleted inserted replaced
12858:2f8728d92483 12859:f509b8f4699b
1 # 1 #
2 # Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 2 # Copyright (c) 2005, 2013, 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.
27 # libjsig.so: signal interposition library 27 # libjsig.so: signal interposition library
28 JSIG = jsig 28 JSIG = jsig
29 29
30 ifeq ($(OS_VENDOR), Darwin) 30 ifeq ($(OS_VENDOR), Darwin)
31 LIBJSIG = lib$(JSIG).dylib 31 LIBJSIG = lib$(JSIG).dylib
32
33 LIBJSIG_DEBUGINFO = lib$(JSIG).dylib.dSYM
34 LIBJSIG_DIZ = lib$(JSIG).diz
32 else 35 else
33 LIBJSIG = lib$(JSIG).so 36 LIBJSIG = lib$(JSIG).so
37
38 LIBJSIG_DEBUGINFO = lib$(JSIG).debuginfo
39 LIBJSIG_DIZ = lib$(JSIG).diz
34 endif 40 endif
35 41
36 JSIGSRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/vm 42 JSIGSRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/vm
37 43
38 DEST_JSIG = $(JDK_LIBDIR)/$(LIBJSIG) 44 DEST_JSIG = $(JDK_LIBDIR)/$(LIBJSIG)
45 DEST_JSIG_DEBUGINFO = $(JDK_LIBDIR)/$(LIBJSIG_DEBUGINFO)
46 DEST_JSIG_DIZ = $(JDK_LIBDIR)/$(LIBJSIG_DIZ)
39 47
40 LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jsig 48 LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jsig
41 49
42 # On Bsd we really dont want a mapfile, as this library is small 50 # On Bsd we really dont want a mapfile, as this library is small
43 # and preloaded using LD_PRELOAD, making functions private will 51 # and preloaded using LD_PRELOAD, making functions private will
53 61
54 $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE) 62 $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
55 @echo Making signal interposition lib... 63 @echo Making signal interposition lib...
56 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \ 64 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
57 $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $< 65 $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $<
66 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
67 ifeq ($(OS_VENDOR), Darwin)
68 $(DSYMUTIL) $@
69 ifeq ($(ZIP_DEBUGINFO_FILES),1)
70 $(ZIPEXE) -q -r -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO)
71 $(RM) -r $(LIBJSIG_DEBUGINFO)
72 endif
73 else
74 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
75 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@
76 ifeq ($(STRIP_POLICY),all_strip)
77 $(QUIETLY) $(STRIP) $@
78 else
79 ifeq ($(STRIP_POLICY),min_strip)
80 $(QUIETLY) $(STRIP) -g $@
81 # implied else here is no stripping at all
82 endif
83 endif
84 ifeq ($(ZIP_DEBUGINFO_FILES),1)
85 $(ZIPEXE) -q -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO)
86 $(RM) $(LIBJSIG_DEBUGINFO)
87 endif
88 endif
89 endif
58 90
59 install_jsig: $(LIBJSIG) 91 install_jsig: $(LIBJSIG)
60 @echo "Copying $(LIBJSIG) to $(DEST_JSIG)" 92 @echo "Copying $(LIBJSIG) to $(DEST_JSIG)"
93 ifeq ($(OS_VENDOR), Darwin)
94 $(QUIETLY) test -d $(LIBJSIG_DEBUGINFO) && \
95 cp -f -r $(LIBJSIG_DEBUGINFO) $(DEST_JSIG_DEBUGINFO)
96 else
97 $(QUIETLY) test -f $(LIBJSIG_DEBUGINFO) && \
98 cp -f $(LIBJSIG_DEBUGINFO) $(DEST_JSIG_DEBUGINFO)
99 endif
100 $(QUIETLY) test -f $(LIBJSIG_DIZ) && \
101 cp -f $(LIBJSIG_DIZ) $(DEST_JSIG_DIZ)
61 $(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done" 102 $(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done"
62 103
63 .PHONY: install_jsig 104 .PHONY: install_jsig