make/solaris/makefiles/sparcWorks.make

changeset 3150
da0999c4b733
parent 3128
f94227b6117b
child 3518
719f7007c8e8
equal deleted inserted replaced
3148:5a3c2bc614ca 3150:da0999c4b733
1 # 1 #
2 # Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 2 # Copyright (c) 1998, 2011, 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.
479 # C++ Interpreter 479 # C++ Interpreter
480 CFLAGS += -DCC_INTERP 480 CFLAGS += -DCC_INTERP
481 endif 481 endif
482 482
483 # Flags for Debugging 483 # Flags for Debugging
484 # The -g0 setting allows the C++ frontend to inline, which is a big win.
485 # The -xs setting disables 'lazy debug info' which puts everything in
486 # the .so instead of requiring the '.o' files.
487 ifneq ($(OBJCOPY),)
488 OPT_CFLAGS += -g0 -xs
489 endif
484 DEBUG_CFLAGS = -g 490 DEBUG_CFLAGS = -g
485 FASTDEBUG_CFLAGS = -g0 491 FASTDEBUG_CFLAGS = -g0
486 # The -g0 setting allows the C++ frontend to inline, which is a big win. 492 ifneq ($(OBJCOPY),)
493 DEBUG_CFLAGS += -xs
494 FASTDEBUG_CFLAGS += -xs
495 endif
487 496
488 # Special global options for SS12 497 # Special global options for SS12
489 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) 498 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1)
490 # There appears to be multiple issues with the new Dwarf2 debug format, so 499 # There appears to be multiple issues with the new Dwarf2 debug format, so
491 # we tell the compiler to use the older 'stabs' debug format all the time. 500 # we tell the compiler to use the older 'stabs' debug format all the time.
500 # The -g option makes static data global and the "-Qoption ccfe 509 # The -g option makes static data global and the "-Qoption ccfe
501 # -xglobalstatic" option tells the compiler to not globalize static 510 # -xglobalstatic" option tells the compiler to not globalize static
502 # data using a unique globalization prefix. Instead force the use of 511 # data using a unique globalization prefix. Instead force the use of
503 # a static globalization prefix based on the source filepath so the 512 # a static globalization prefix based on the source filepath so the
504 # objects from two identical compilations are the same. 513 # objects from two identical compilations are the same.
514 # EXTRA_CFLAGS only covers vm_version.cpp for some reason
515 #EXTRA_CFLAGS += -Qoption ccfe -xglobalstatic
516 #OPT_CFLAGS += -Qoption ccfe -xglobalstatic
505 #DEBUG_CFLAGS += -Qoption ccfe -xglobalstatic 517 #DEBUG_CFLAGS += -Qoption ccfe -xglobalstatic
506 #FASTDEBUG_CFLAGS += -Qoption ccfe -xglobalstatic 518 #FASTDEBUG_CFLAGS += -Qoption ccfe -xglobalstatic
507 519
508 ifeq (${COMPILER_REV_NUMERIC}, 502) 520 ifeq (${COMPILER_REV_NUMERIC}, 502)
509 COMPILER_DATE := $(shell $(CPP) -V 2>&1 | sed -n '/^.*[ ]C++[ ]\([1-9]\.[0-9][0-9]*\)/p' | awk '{ print $$NF; }') 521 COMPILER_DATE := $(shell $(CPP) -V 2>&1 | sed -n '/^.*[ ]C++[ ]\([1-9]\.[0-9][0-9]*\)/p' | awk '{ print $$NF; }')
560 # (The exit 1 is necessary to cause a build failure if the command fails and 572 # (The exit 1 is necessary to cause a build failure if the command fails and
561 # multiple commands are strung together, and the final semicolon is necessary 573 # multiple commands are strung together, and the final semicolon is necessary
562 # since the hook must terminate itself as a valid command.) 574 # since the hook must terminate itself as a valid command.)
563 575
564 # Also, strip debug and line number information (worth about 1.7Mb). 576 # Also, strip debug and line number information (worth about 1.7Mb).
577 # If we can create .debuginfo files, then the VM is stripped in vm.make
578 # and this macro is not used.
565 STRIP_LIB.CC/POST_HOOK = $(STRIP) -x $@ || exit 1; 579 STRIP_LIB.CC/POST_HOOK = $(STRIP) -x $@ || exit 1;
566 # STRIP_LIB.CC/POST_HOOK is incorporated into LINK_LIB.CC/POST_HOOK 580 # STRIP_LIB.CC/POST_HOOK is incorporated into LINK_LIB.CC/POST_HOOK
567 # in certain configurations, such as product.make. Other configurations, 581 # in certain configurations, such as product.make. Other configurations,
568 # such as debug.make, do not include the strip operation. 582 # such as debug.make, do not include the strip operation.

mercurial