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