Print this page
7661 illumos should provide 64bit perl modules


  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 
  22 #
  23 # Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
  24 # Copyright (c) 2012 by Delphix. All rights reserved.
  25 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
  26 # Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
  27 # Copyright 2015 Gary Mills
  28 # Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com>
  29 # Copyright 2016 Toomas Soome <tsoome@me.com>

  30 #
  31 
  32 #
  33 # Makefile.master, global definitions for system source
  34 #
  35 ROOT=           /proto
  36 
  37 #
  38 # Adjunct root, containing an additional proto area to be used for headers
  39 # and libraries.
  40 #
  41 ADJUNCT_PROTO=
  42 
  43 #
  44 # Adjunct for building things that run on the build machine.
  45 #
  46 NATIVE_ADJUNCT= /usr
  47 
  48 #
  49 # RELEASE_BUILD should be cleared for final release builds.


  88 # __GNUC and GCC are the default.
  89 #
  90 # __GNUC64 indicates that the 64bit build should use the GNU C compiler.
  91 # There is no Sun C analogue.
  92 #
  93 # The following version-specific options are operative regardless of which
  94 # compiler is primary, and control the versions of the given compilers to be
  95 # used.  They also allow compiler-version specific Makefile fragments.
  96 #
  97 
  98 __SUNC=                 $(POUND_SIGN)
  99 $(__SUNC)__GNUC=        $(POUND_SIGN)
 100 __GNUC64=               $(__GNUC)
 101 
 102 # Allow build-time "configuration" to enable or disable some things.
 103 # The default is POUND_SIGN, meaning "not enabled". If the environment
 104 # passes in an override like ENABLE_SMB_PRINTING= (empty) that will
 105 # uncomment things in the lower Makefiles to enable the feature.
 106 ENABLE_IPP_PRINTING=    $(POUND_SIGN)
 107 ENABLE_SMB_PRINTING=    $(POUND_SIGN)


 108 
 109 # CLOSED is the root of the tree that contains source which isn't released
 110 # as open source
 111 CLOSED=         $(SRC)/../closed
 112 
 113 # BUILD_TOOLS is the root of all tools including compilers.
 114 # ONBLD_TOOLS is the root of all the tools that are part of SUNWonbld.
 115 
 116 BUILD_TOOLS=            /ws/onnv-tools
 117 ONBLD_TOOLS=            $(BUILD_TOOLS)/onbld
 118 
 119 # define runtime JAVA_HOME, primarily for cmd/pools/poold
 120 JAVA_HOME=      /usr/java
 121 # define buildtime JAVA_ROOT
 122 JAVA_ROOT=      /usr/java
 123 
 124 GCC_ROOT=       /opt/gcc/4.4.4
 125 GCCLIBDIR=      $(GCC_ROOT)/lib
 126 GCCLIBDIR64=    $(GCC_ROOT)/lib/$(MACH64)
 127 


 158 LEX=            /usr/ccs/bin/lex
 159 FLEX=           /usr/bin/flex
 160 YACC=           /usr/ccs/bin/yacc
 161 CPP=            /usr/lib/cpp
 162 JAVAC=          $(JAVA_ROOT)/bin/javac
 163 JAVAH=          $(JAVA_ROOT)/bin/javah
 164 JAVADOC=        $(JAVA_ROOT)/bin/javadoc
 165 RMIC=           $(JAVA_ROOT)/bin/rmic
 166 JAR=            $(JAVA_ROOT)/bin/jar
 167 CTFCONVERT=     $(ONBLD_TOOLS)/bin/$(MACH)/ctfconvert
 168 CTFMERGE=       $(ONBLD_TOOLS)/bin/$(MACH)/ctfmerge
 169 CTFSTABS=       $(ONBLD_TOOLS)/bin/$(MACH)/ctfstabs
 170 CTFSTRIP=       $(ONBLD_TOOLS)/bin/$(MACH)/ctfstrip
 171 NDRGEN=         $(ONBLD_TOOLS)/bin/$(MACH)/ndrgen
 172 GENOFFSETS=     $(ONBLD_TOOLS)/bin/genoffsets
 173 XREF=           $(ONBLD_TOOLS)/bin/xref
 174 FIND=           /usr/bin/find
 175 PERL=           /usr/bin/perl
 176 PERL_VERSION=   5.10.0
 177 PERL_PKGVERS=   -510
 178 PERL_ARCH =             i86pc-solaris-64int
 179 $(SPARC_BLD)PERL_ARCH = sun4-solaris-64int


 180 PYTHON_VERSION= 2.7
 181 PYTHON_PKGVERS= -27
 182 PYTHON=         /usr/bin/python$(PYTHON_VERSION)
 183 SORT=           /usr/bin/sort
 184 TOUCH=          /usr/bin/touch
 185 WC=             /usr/bin/wc
 186 XARGS=          /usr/bin/xargs
 187 ELFEDIT=        /usr/bin/elfedit
 188 ELFSIGN=        /usr/bin/elfsign
 189 DTRACE=         /usr/sbin/dtrace -xnolibs
 190 UNIQ=           /usr/bin/uniq
 191 TAR=            /usr/bin/tar
 192 ASTBINDIR=      /usr/ast/bin
 193 MSGCC=          $(ASTBINDIR)/msgcc
 194 MSGFMT=         /usr/bin/msgfmt -s
 195 
 196 FILEMODE=       644
 197 DIRMODE=        755
 198 
 199 # Declare that nothing should be built in parallel.


 692 COMPILE.cc=     $(CCC) $(CCFLAGS) $(CPPFLAGS) -c
 693 COMPILE64.cc=   $(CCC) $(CCFLAGS64) $(CPPFLAGS) -c
 694 COMPILE.s=      $(AS) $(ASFLAGS) $(AS_CPPFLAGS)
 695 COMPILE64.s=    $(AS) $(ASFLAGS) $($(MACH64)_AS_XARCH) $(AS_CPPFLAGS)
 696 COMPILE.d=      $(DTRACE) -G -32
 697 COMPILE64.d=    $(DTRACE) -G -64
 698 COMPILE.b=      $(ELFWRAP) $(ELFWRAP_FLAGS$(CLASS))
 699 COMPILE64.b=    $(ELFWRAP) $(ELFWRAP_FLAGS$(CLASS))
 700 
 701 CLASSPATH=      .
 702 COMPILE.java=   $(JAVAC) $(JAVAFLAGS) -classpath $(CLASSPATH)
 703 
 704 #
 705 # Link time macros
 706 #
 707 CCNEEDED                = -lC
 708 CCEXTNEEDED             = -lCrun -lCstd
 709 $(__GNUC)CCNEEDED       = -L$(GCCLIBDIR) -lstdc++ -lgcc_s
 710 $(__GNUC)CCEXTNEEDED    = $(CCNEEDED)
 711 





 712 LINK.c=         $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
 713 LINK64.c=       $(CC) $(CFLAGS64) $(CPPFLAGS) $(LDFLAGS)
 714 NORUNPATH=      -norunpath -nolib
 715 LINK.cc=        $(CCC) $(CCFLAGS) $(CPPFLAGS) $(NORUNPATH) \
 716                 $(LDFLAGS) $(CCNEEDED)
 717 LINK64.cc=      $(CCC) $(CCFLAGS64) $(CPPFLAGS) $(NORUNPATH) \
 718                 $(LDFLAGS) $(CCNEEDED)
 719 
 720 #
 721 # lint macros
 722 #
 723 # Note that the undefine of __PRAGMA_REDEFINE_EXTNAME can be removed once
 724 # ON is built with a version of lint that has the fix for 4484186.
 725 #
 726 ALWAYS_LINT_DEFS =      -errtags=yes -s
 727 ALWAYS_LINT_DEFS +=     -erroff=E_PTRDIFF_OVERFLOW
 728 ALWAYS_LINT_DEFS +=     -erroff=E_ASSIGN_NARROW_CONV
 729 ALWAYS_LINT_DEFS +=     -U__PRAGMA_REDEFINE_EXTNAME
 730 ALWAYS_LINT_DEFS +=     $(C99LMODE)
 731 ALWAYS_LINT_DEFS +=     -errsecurity=$(SECLEVEL)
 732 ALWAYS_LINT_DEFS +=     -erroff=E_SEC_CREAT_WITHOUT_EXCL
 733 ALWAYS_LINT_DEFS +=     -erroff=E_SEC_FORBIDDEN_WARN_CREAT
 734 # XX64 -- really only needed for amd64 lint
 735 ALWAYS_LINT_DEFS +=     -erroff=E_ASSIGN_INT_TO_SMALL_INT
 736 ALWAYS_LINT_DEFS +=     -erroff=E_CAST_INT_CONST_TO_SMALL_INT
 737 ALWAYS_LINT_DEFS +=     -erroff=E_CAST_INT_TO_SMALL_INT
 738 ALWAYS_LINT_DEFS +=     -erroff=E_CAST_TO_PTR_FROM_INT


 741 ALWAYS_LINT_DEFS +=     -erroff=E_PASS_INT_TO_SMALL_INT
 742 ALWAYS_LINT_DEFS +=     -erroff=E_PTR_CONV_LOSES_BITS
 743 
 744 # This forces lint to pick up note.h and sys/note.h from Devpro rather than
 745 # from the proto area.  The note.h that ON delivers would disable NOTE().
 746 ONLY_LINT_DEFS =        -I$(SPRO_VROOT)/prod/include/lint
 747 
 748 SECLEVEL=       core
 749 LINT.c=         $(LINT) $(ONLY_LINT_DEFS) $(LINTFLAGS) $(CPPFLAGS) \
 750                 $(ALWAYS_LINT_DEFS)
 751 LINT64.c=       $(LINT) $(ONLY_LINT_DEFS) $(LINTFLAGS64) $(CPPFLAGS) \
 752                 $(ALWAYS_LINT_DEFS)
 753 LINT.s=         $(LINT.c)
 754 
 755 # For some future builds, NATIVE_MACH and MACH might be different.
 756 # Therefore, NATIVE_MACH needs to be redefined in the
 757 # environment as `uname -p` to override this macro.
 758 #
 759 # For now at least, we cross-compile amd64 on i386 machines.
 760 NATIVE_MACH=    $(MACH:amd64=i386)

 761 
 762 # Define native compilation macros
 763 #
 764 
 765 # Base directory where compilers are loaded.
 766 # Defined here so it can be overridden by developer.
 767 #
 768 SPRO_ROOT=              $(BUILD_TOOLS)/SUNWspro
 769 SPRO_VROOT=             $(SPRO_ROOT)/SS12
 770 GNU_ROOT=               /usr
 771 
 772 # Till SS12u1 formally becomes the NV CBE, LINT is hard
 773 # coded to be picked up from the $SPRO_ROOT/sunstudio12.1/
 774 # location. Impacted variables are sparc_LINT, sparcv9_LINT,
 775 # i386_LINT, amd64_LINT.
 776 # Reset them when SS12u1 is rolled out.
 777 #
 778 
 779 # Specify platform compiler versions for languages
 780 # that we use (currently only c and c++).


 806 $(__GNUC)i386_AS=       $(ONBLD_TOOLS)/bin/$(MACH)/aw
 807 i386_LD=                /usr/ccs/bin/ld
 808 i386_LINT=              $(SPRO_ROOT)/sunstudio12.1/bin/lint
 809 
 810 amd64_CC=               $(ONBLD_TOOLS)/bin/$(MACH)/cw -_cc
 811 $(__GNUC64)amd64_CC=    $(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
 812 amd64_CCC=              $(ONBLD_TOOLS)/bin/$(MACH)/cw -_CC
 813 $(__GNUC64)amd64_CCC=   $(ONBLD_TOOLS)/bin/$(MACH)/cw -_g++
 814 amd64_CPP=              /usr/ccs/lib/cpp
 815 amd64_AS=               $(ONBLD_TOOLS)/bin/$(MACH)/aw
 816 amd64_LD=               /usr/ccs/bin/ld
 817 amd64_LINT=             $(SPRO_ROOT)/sunstudio12.1/bin/lint
 818 
 819 NATIVECC=               $($(NATIVE_MACH)_CC)
 820 NATIVECCC=              $($(NATIVE_MACH)_CCC)
 821 NATIVECPP=              $($(NATIVE_MACH)_CPP)
 822 NATIVEAS=               $($(NATIVE_MACH)_AS)
 823 NATIVELD=               $($(NATIVE_MACH)_LD)
 824 NATIVELINT=             $($(NATIVE_MACH)_LINT)
 825 







 826 #
 827 # Makefile.master.64 overrides these settings
 828 #
 829 CC=                     $(NATIVECC)
 830 CCC=                    $(NATIVECCC)
 831 CPP=                    $(NATIVECPP)
 832 AS=                     $(NATIVEAS)
 833 LD=                     $(NATIVELD)
 834 LINT=                   $(NATIVELINT)
 835 







 836 # The real compilers used for this build
 837 CW_CC_CMD=              $(CC) -_compiler
 838 CW_CCC_CMD=             $(CCC) -_compiler
 839 REAL_CC=                $(CW_CC_CMD:sh)
 840 REAL_CCC=               $(CW_CCC_CMD:sh)
 841 
 842 # Pass -Y flag to cpp (method of which is release-dependent)
 843 CCYFLAG=                -Y I,
 844 
 845 BDIRECT=        -Bdirect
 846 BDYNAMIC=       -Bdynamic
 847 BLOCAL=         -Blocal
 848 BNODIRECT=      -Bnodirect
 849 BREDUCE=        -Breduce
 850 BSTATIC=        -Bstatic
 851 
 852 ZDEFS=          -zdefs
 853 ZDIRECT=        -zdirect
 854 ZIGNORE=        -zignore
 855 ZINITFIRST=     -zinitfirst




  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 
  22 #
  23 # Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
  24 # Copyright (c) 2012 by Delphix. All rights reserved.
  25 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
  26 # Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
  27 # Copyright 2015 Gary Mills
  28 # Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com>
  29 # Copyright 2016 Toomas Soome <tsoome@me.com>
  30 # Copyright 2016 RackTop Systems.
  31 #
  32 
  33 #
  34 # Makefile.master, global definitions for system source
  35 #
  36 ROOT=           /proto
  37 
  38 #
  39 # Adjunct root, containing an additional proto area to be used for headers
  40 # and libraries.
  41 #
  42 ADJUNCT_PROTO=
  43 
  44 #
  45 # Adjunct for building things that run on the build machine.
  46 #
  47 NATIVE_ADJUNCT= /usr
  48 
  49 #
  50 # RELEASE_BUILD should be cleared for final release builds.


  89 # __GNUC and GCC are the default.
  90 #
  91 # __GNUC64 indicates that the 64bit build should use the GNU C compiler.
  92 # There is no Sun C analogue.
  93 #
  94 # The following version-specific options are operative regardless of which
  95 # compiler is primary, and control the versions of the given compilers to be
  96 # used.  They also allow compiler-version specific Makefile fragments.
  97 #
  98 
  99 __SUNC=                 $(POUND_SIGN)
 100 $(__SUNC)__GNUC=        $(POUND_SIGN)
 101 __GNUC64=               $(__GNUC)
 102 
 103 # Allow build-time "configuration" to enable or disable some things.
 104 # The default is POUND_SIGN, meaning "not enabled". If the environment
 105 # passes in an override like ENABLE_SMB_PRINTING= (empty) that will
 106 # uncomment things in the lower Makefiles to enable the feature.
 107 ENABLE_IPP_PRINTING=    $(POUND_SIGN)
 108 ENABLE_SMB_PRINTING=    $(POUND_SIGN)
 109 ENABLE_32BIT_PERL=      $(POUND_SIGN)
 110 ENABLE_64BIT_PERL=      $(POUND_SIGN)
 111 
 112 # CLOSED is the root of the tree that contains source which isn't released
 113 # as open source
 114 CLOSED=         $(SRC)/../closed
 115 
 116 # BUILD_TOOLS is the root of all tools including compilers.
 117 # ONBLD_TOOLS is the root of all the tools that are part of SUNWonbld.
 118 
 119 BUILD_TOOLS=            /ws/onnv-tools
 120 ONBLD_TOOLS=            $(BUILD_TOOLS)/onbld
 121 
 122 # define runtime JAVA_HOME, primarily for cmd/pools/poold
 123 JAVA_HOME=      /usr/java
 124 # define buildtime JAVA_ROOT
 125 JAVA_ROOT=      /usr/java
 126 
 127 GCC_ROOT=       /opt/gcc/4.4.4
 128 GCCLIBDIR=      $(GCC_ROOT)/lib
 129 GCCLIBDIR64=    $(GCC_ROOT)/lib/$(MACH64)
 130 


 161 LEX=            /usr/ccs/bin/lex
 162 FLEX=           /usr/bin/flex
 163 YACC=           /usr/ccs/bin/yacc
 164 CPP=            /usr/lib/cpp
 165 JAVAC=          $(JAVA_ROOT)/bin/javac
 166 JAVAH=          $(JAVA_ROOT)/bin/javah
 167 JAVADOC=        $(JAVA_ROOT)/bin/javadoc
 168 RMIC=           $(JAVA_ROOT)/bin/rmic
 169 JAR=            $(JAVA_ROOT)/bin/jar
 170 CTFCONVERT=     $(ONBLD_TOOLS)/bin/$(MACH)/ctfconvert
 171 CTFMERGE=       $(ONBLD_TOOLS)/bin/$(MACH)/ctfmerge
 172 CTFSTABS=       $(ONBLD_TOOLS)/bin/$(MACH)/ctfstabs
 173 CTFSTRIP=       $(ONBLD_TOOLS)/bin/$(MACH)/ctfstrip
 174 NDRGEN=         $(ONBLD_TOOLS)/bin/$(MACH)/ndrgen
 175 GENOFFSETS=     $(ONBLD_TOOLS)/bin/genoffsets
 176 XREF=           $(ONBLD_TOOLS)/bin/xref
 177 FIND=           /usr/bin/find
 178 PERL=           /usr/bin/perl
 179 PERL_VERSION=   5.10.0
 180 PERL_PKGVERS=   -510
 181 PERL_MACH=      i86pc
 182 $(SPARC_BLD)PERL_MACH=  sun4
 183 PERL_ARCH=      $(PERL_MACH)-solaris$(PERL_VARIANT)-64int
 184 PERL_ARCH64=    $(PERL_MACH)-solaris$(PERL_VARIANT)-64
 185 PYTHON_VERSION= 2.7
 186 PYTHON_PKGVERS= -27
 187 PYTHON=         /usr/bin/python$(PYTHON_VERSION)
 188 SORT=           /usr/bin/sort
 189 TOUCH=          /usr/bin/touch
 190 WC=             /usr/bin/wc
 191 XARGS=          /usr/bin/xargs
 192 ELFEDIT=        /usr/bin/elfedit
 193 ELFSIGN=        /usr/bin/elfsign
 194 DTRACE=         /usr/sbin/dtrace -xnolibs
 195 UNIQ=           /usr/bin/uniq
 196 TAR=            /usr/bin/tar
 197 ASTBINDIR=      /usr/ast/bin
 198 MSGCC=          $(ASTBINDIR)/msgcc
 199 MSGFMT=         /usr/bin/msgfmt -s
 200 
 201 FILEMODE=       644
 202 DIRMODE=        755
 203 
 204 # Declare that nothing should be built in parallel.


 697 COMPILE.cc=     $(CCC) $(CCFLAGS) $(CPPFLAGS) -c
 698 COMPILE64.cc=   $(CCC) $(CCFLAGS64) $(CPPFLAGS) -c
 699 COMPILE.s=      $(AS) $(ASFLAGS) $(AS_CPPFLAGS)
 700 COMPILE64.s=    $(AS) $(ASFLAGS) $($(MACH64)_AS_XARCH) $(AS_CPPFLAGS)
 701 COMPILE.d=      $(DTRACE) -G -32
 702 COMPILE64.d=    $(DTRACE) -G -64
 703 COMPILE.b=      $(ELFWRAP) $(ELFWRAP_FLAGS$(CLASS))
 704 COMPILE64.b=    $(ELFWRAP) $(ELFWRAP_FLAGS$(CLASS))
 705 
 706 CLASSPATH=      .
 707 COMPILE.java=   $(JAVAC) $(JAVAFLAGS) -classpath $(CLASSPATH)
 708 
 709 #
 710 # Link time macros
 711 #
 712 CCNEEDED                = -lC
 713 CCEXTNEEDED             = -lCrun -lCstd
 714 $(__GNUC)CCNEEDED       = -L$(GCCLIBDIR) -lstdc++ -lgcc_s
 715 $(__GNUC)CCEXTNEEDED    = $(CCNEEDED)
 716 
 717 CCNEEDED64              = -lCrun
 718 CCEXTNEEDED64           = -lCrun -lCstd
 719 $(__GNUC64)CCNEEDED64   = -L$(GCCLIBDIR) -lstdc++ -lgcc_s
 720 $(__GNUC64)CCEXTNEEDED  = $(CCNEEDED64)
 721 
 722 LINK.c=         $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
 723 LINK64.c=       $(CC) $(CFLAGS64) $(CPPFLAGS) $(LDFLAGS)
 724 NORUNPATH=      -norunpath -nolib
 725 LINK.cc=        $(CCC) $(CCFLAGS) $(CPPFLAGS) $(NORUNPATH) \
 726                 $(LDFLAGS) $(CCNEEDED)
 727 LINK64.cc=      $(CCC) $(CCFLAGS64) $(CPPFLAGS) $(NORUNPATH) \
 728                 $(LDFLAGS) $(CCNEEDED64)
 729 
 730 #
 731 # lint macros
 732 #
 733 # Note that the undefine of __PRAGMA_REDEFINE_EXTNAME can be removed once
 734 # ON is built with a version of lint that has the fix for 4484186.
 735 #
 736 ALWAYS_LINT_DEFS =      -errtags=yes -s
 737 ALWAYS_LINT_DEFS +=     -erroff=E_PTRDIFF_OVERFLOW
 738 ALWAYS_LINT_DEFS +=     -erroff=E_ASSIGN_NARROW_CONV
 739 ALWAYS_LINT_DEFS +=     -U__PRAGMA_REDEFINE_EXTNAME
 740 ALWAYS_LINT_DEFS +=     $(C99LMODE)
 741 ALWAYS_LINT_DEFS +=     -errsecurity=$(SECLEVEL)
 742 ALWAYS_LINT_DEFS +=     -erroff=E_SEC_CREAT_WITHOUT_EXCL
 743 ALWAYS_LINT_DEFS +=     -erroff=E_SEC_FORBIDDEN_WARN_CREAT
 744 # XX64 -- really only needed for amd64 lint
 745 ALWAYS_LINT_DEFS +=     -erroff=E_ASSIGN_INT_TO_SMALL_INT
 746 ALWAYS_LINT_DEFS +=     -erroff=E_CAST_INT_CONST_TO_SMALL_INT
 747 ALWAYS_LINT_DEFS +=     -erroff=E_CAST_INT_TO_SMALL_INT
 748 ALWAYS_LINT_DEFS +=     -erroff=E_CAST_TO_PTR_FROM_INT


 751 ALWAYS_LINT_DEFS +=     -erroff=E_PASS_INT_TO_SMALL_INT
 752 ALWAYS_LINT_DEFS +=     -erroff=E_PTR_CONV_LOSES_BITS
 753 
 754 # This forces lint to pick up note.h and sys/note.h from Devpro rather than
 755 # from the proto area.  The note.h that ON delivers would disable NOTE().
 756 ONLY_LINT_DEFS =        -I$(SPRO_VROOT)/prod/include/lint
 757 
 758 SECLEVEL=       core
 759 LINT.c=         $(LINT) $(ONLY_LINT_DEFS) $(LINTFLAGS) $(CPPFLAGS) \
 760                 $(ALWAYS_LINT_DEFS)
 761 LINT64.c=       $(LINT) $(ONLY_LINT_DEFS) $(LINTFLAGS64) $(CPPFLAGS) \
 762                 $(ALWAYS_LINT_DEFS)
 763 LINT.s=         $(LINT.c)
 764 
 765 # For some future builds, NATIVE_MACH and MACH might be different.
 766 # Therefore, NATIVE_MACH needs to be redefined in the
 767 # environment as `uname -p` to override this macro.
 768 #
 769 # For now at least, we cross-compile amd64 on i386 machines.
 770 NATIVE_MACH=    $(MACH:amd64=i386)
 771 NATIVE_MACH64=  $(MACH64)
 772 
 773 # Define native compilation macros
 774 #
 775 
 776 # Base directory where compilers are loaded.
 777 # Defined here so it can be overridden by developer.
 778 #
 779 SPRO_ROOT=              $(BUILD_TOOLS)/SUNWspro
 780 SPRO_VROOT=             $(SPRO_ROOT)/SS12
 781 GNU_ROOT=               /usr
 782 
 783 # Till SS12u1 formally becomes the NV CBE, LINT is hard
 784 # coded to be picked up from the $SPRO_ROOT/sunstudio12.1/
 785 # location. Impacted variables are sparc_LINT, sparcv9_LINT,
 786 # i386_LINT, amd64_LINT.
 787 # Reset them when SS12u1 is rolled out.
 788 #
 789 
 790 # Specify platform compiler versions for languages
 791 # that we use (currently only c and c++).


 817 $(__GNUC)i386_AS=       $(ONBLD_TOOLS)/bin/$(MACH)/aw
 818 i386_LD=                /usr/ccs/bin/ld
 819 i386_LINT=              $(SPRO_ROOT)/sunstudio12.1/bin/lint
 820 
 821 amd64_CC=               $(ONBLD_TOOLS)/bin/$(MACH)/cw -_cc
 822 $(__GNUC64)amd64_CC=    $(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
 823 amd64_CCC=              $(ONBLD_TOOLS)/bin/$(MACH)/cw -_CC
 824 $(__GNUC64)amd64_CCC=   $(ONBLD_TOOLS)/bin/$(MACH)/cw -_g++
 825 amd64_CPP=              /usr/ccs/lib/cpp
 826 amd64_AS=               $(ONBLD_TOOLS)/bin/$(MACH)/aw
 827 amd64_LD=               /usr/ccs/bin/ld
 828 amd64_LINT=             $(SPRO_ROOT)/sunstudio12.1/bin/lint
 829 
 830 NATIVECC=               $($(NATIVE_MACH)_CC)
 831 NATIVECCC=              $($(NATIVE_MACH)_CCC)
 832 NATIVECPP=              $($(NATIVE_MACH)_CPP)
 833 NATIVEAS=               $($(NATIVE_MACH)_AS)
 834 NATIVELD=               $($(NATIVE_MACH)_LD)
 835 NATIVELINT=             $($(NATIVE_MACH)_LINT)
 836 
 837 NATIVECC64=             $($(NATIVE_MACH64)_CC)
 838 NATIVECCC64=            $($(NATIVE_MACH64)_CCC)
 839 NATIVECPP64=            $($(NATIVE_MACH64)_CPP)
 840 NATIVEAS64=             $($(NATIVE_MACH64)_AS)
 841 NATIVELD64=             $($(NATIVE_MACH64)_LD)
 842 NATIVELINT64=           $($(NATIVE_MACH64)_LINT)
 843 
 844 #
 845 # Makefile.master.64 overrides these settings
 846 #
 847 CC=                     $(NATIVECC)
 848 CCC=                    $(NATIVECCC)
 849 CPP=                    $(NATIVECPP)
 850 AS=                     $(NATIVEAS)
 851 LD=                     $(NATIVELD)
 852 LINT=                   $(NATIVELINT)
 853 
 854 CC64=                   $(NATIVECC64)
 855 CCC64=                  $(NATIVECCC64)
 856 CPP64=                  $(NATIVECPP64)
 857 AS64=                   $(NATIVEAS64)
 858 LD64=                   $(NATIVELD64)
 859 LINT64=                 $(NATIVELINT64)
 860 
 861 # The real compilers used for this build
 862 CW_CC_CMD=              $(CC) -_compiler
 863 CW_CCC_CMD=             $(CCC) -_compiler
 864 REAL_CC=                $(CW_CC_CMD:sh)
 865 REAL_CCC=               $(CW_CCC_CMD:sh)
 866 
 867 # Pass -Y flag to cpp (method of which is release-dependent)
 868 CCYFLAG=                -Y I,
 869 
 870 BDIRECT=        -Bdirect
 871 BDYNAMIC=       -Bdynamic
 872 BLOCAL=         -Blocal
 873 BNODIRECT=      -Bnodirect
 874 BREDUCE=        -Breduce
 875 BSTATIC=        -Bstatic
 876 
 877 ZDEFS=          -zdefs
 878 ZDIRECT=        -zdirect
 879 ZIGNORE=        -zignore
 880 ZINITFIRST=     -zinitfirst