include/arch64.inc
changeset 32 b3cb3388af53
equal deleted inserted replaced
31:4d19a4859e94 32:b3cb3388af53
       
     1 #
       
     2 # 64-bit platform settings for Solaris packages
       
     3 #
       
     4 # Copyright 2007 Sun Microsystems, Inc.
       
     5 #
       
     6 # Solaris.inc must be included before this file
       
     7 
       
     8 %ifarch amd64 sparcv9
       
     9 
       
    10 %ifarch amd64
       
    11 %define _arch64 amd64
       
    12 %else
       
    13 %define _arch64 sparcv9
       
    14 %endif
       
    15 
       
    16 %define opt_sse2 0
       
    17 %define opt_arch64 1
       
    18 %define can_isaexec 1
       
    19 %define gtk_doc_option --disable-gtk-doc
       
    20 
       
    21 %if %option_with_gnu_iconv
       
    22 %define arch_ldadd -L%{_libdir} -R%{_libdir} -Wl,-zignore -R/usr/gnu/lib/%{_arch64} -lgnuintl -lgnuiconv
       
    23 %else
       
    24 %define arch_ldadd -L%{_libdir} -R%{_libdir}
       
    25 %endif
       
    26 
       
    27 %ifarch amd64
       
    28 %define opt_amd64 1
       
    29 %define bld_arch	"amd64"
       
    30 %else
       
    31 %define opt_sparcv9 1
       
    32 %define bld_arch	"sparcv9"
       
    33 %endif
       
    34 
       
    35 %if %debug_build
       
    36 %define pkgbuild_postprocess /bin/true
       
    37 %define _cc64_opt_level      -g
       
    38 %define _cxx64_opt_level     -g
       
    39 %define _gcc64_opt_level      -g
       
    40 %define _gxx64_opt_level     -g
       
    41 %else
       
    42 %define _gcc64_opt_level      -O3
       
    43 %define _gxx64_opt_level     -O3
       
    44 %define _cc64_opt_level      -xO4 -xspace
       
    45 %define _cxx64_opt_level     -xO3 -xspace
       
    46 %endif
       
    47 
       
    48 %ifarch sparc
       
    49 %define gcc_optflags64           %_gcc64_opt_level -mcpu=ultrasparc -m64 -Xlinker -i %gcc_picflags
       
    50 %define gcc_cxx_optflags64       %gcc_optflags64
       
    51 %endif
       
    52 
       
    53 %ifarch i386
       
    54 %define gcc_optflags64           %_gcc64_opt_level -march=opteron -m64 -Xlinker -i -fno-omit-frame-pointer %gcc_picflags
       
    55 %define gcc_cxx_optflags64       %gcc_optflags64
       
    56 %endif
       
    57 
       
    58 %ifarch sparc
       
    59 %define suncc_optflags64           -i %_cc64_opt_level -xstrconst -xarch=v9 -xcode=pic32 -mr
       
    60 %define suncc_cxx_optflags64       -i %_cxx64_opt_level -xarch=v9 -xcode=pic32 -mr -norunpath
       
    61 %endif
       
    62 
       
    63 %ifarch i386
       
    64 %define suncc_optflags64           -i %_cc64_opt_level -xstrconst -m64 -Kpic -xregs=no%%frameptr
       
    65 %define suncc_cxx_optflags64       -i %_cxx64_opt_level -xarch=generic64 -Kpic -pentium -mr -norunpath -xregs=no%%frameptr
       
    66 %endif
       
    67 
       
    68 %if %cc_is_gcc
       
    69 
       
    70 %define picflags %gcc_picflags
       
    71 %define optflags64 %gcc_optflags64
       
    72 %define cxx_optflags64 %gcc_cxx_optflags64
       
    73 
       
    74 %else
       
    75 # cc is not gcc
       
    76 
       
    77 %define picflags %suncc_picflags
       
    78 %define optflags64 %suncc_optflags64
       
    79 %define cxx_optflags64 %suncc_cxx_optflags64
       
    80 
       
    81 %endif
       
    82 
       
    83 %define optflags %optflags64 ${EXTRA_CFLAGS}
       
    84 %define gcc_optflags %gcc_optflags64 ${EXTRA_CFLAGS}
       
    85 %define cxx_optflags %cxx_optflags64 ${EXTRA_CXXFLAGS}
       
    86 %define gcc_cxx_optflags %gcc_cxx_optflags64 ${EXTRA_CXXFLAGS}
       
    87 
       
    88 %define _bindir		 %{_prefix}/bin/%{bld_arch}
       
    89 %define _libdir		 %{_prefix}/lib/%{bld_arch}
       
    90 %define _libexecdir	 %{_prefix}/lib/%{bld_arch}
       
    91 %define _pkg_config_path %{_libdir}/pkgconfig:%{_datadir}/pkgconfig
       
    92 # obsolete, don't use:
       
    93 %define _pkg_config_path64 %{_prefix}/lib/%{_arch64}/pkgconfig:%{_datadir}/pkgconfig
       
    94 
       
    95 %endif
       
    96 
       
    97 # ChangeLog:
       
    98 # 2009-12-30  Halton Huo <[email protected]>
       
    99 # - Remove cc_is_ssxx macros since we use ss12 always
       
   100 # 2008-06-20  Laszlo (Laca) Peter  <[email protected]>
       
   101 # - always define gcc_* macros, not only when cc_is_gcc, useful in spec
       
   102 #   files that force using gcc
       
   103 # 2008-03-30  Laszlo (Laca) Peter  <[email protected]>
       
   104 # - use -m64 with ss12
       
   105 # 2007-09-28  Laszlo (Laca) Peter  <[email protected]>
       
   106 # - add /usr/gnu/lib/%{_arch64} to RPATH and link with GNU libintl and libiconv
       
   107 #   when building with the --with-gnu-iconv option
       
   108 # 2007-03-20  Doug Scott <[email protected]>
       
   109 # - Added %_cc64_opt_level to suncc_optflags64 for i386
       
   110 # 2007-03-19  Doug Scott <[email protected]>
       
   111 # - Fixed -fno-omit-frame-pointer flag
       
   112 # 2007-03-15  Laszlo (Laca) Peter  <[email protected]>
       
   113 # - renamed from amd64.inc
       
   114 # - updated to work for either amd64 or sparcv9
       
   115 # 2007-03-12  Doug Scott  <[email protected]>