aboutsummaryrefslogtreecommitdiffhomepage
path: root/m4/acx_check_suncc.m4
blob: 795a42cc50e71ef4db55279a2c478dfc3f89df5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
dnl Check for the presence of the Sun Studio compiler.
dnl If Sun Studio compiler is found, set appropriate flags.
dnl Additionally, Sun Studio doesn't default to 64-bit by itself,
dnl nor does it automatically look in standard Solaris places for
dnl 64-bit libs, so we must add those options and paths to the search
dnl paths.

dnl TODO(kenton):  This is pretty hacky.  It sets CXXFLAGS, which the autoconf
dnl docs say should never be overridden except by the user.  It also isn't
dnl cross-compile safe.  We should fix these problems, but since I don't have
dnl Sun CC at my disposal for testing, someone else will have to do it.

AC_DEFUN([ACX_CHECK_SUNCC],[

  AC_LANG_PUSH([C++])
  AC_CHECK_DECL([__SUNPRO_CC], [SUNCC="yes"], [SUNCC="no"])

  AS_IF([test "$SUNCC" = "yes"],[
    isainfo_k=`isainfo -k`
    AS_IF([test "$target_cpu" = "sparc"],[
      MEMALIGN_FLAGS="-xmemalign=8s"
      IS_64="-m64"
      LDFLAGS="${LDFLAGS} -L/usr/lib/${isainfo_k} -L/usr/local/lib/${isainfo_k}"
    ],[
      AS_IF([test "$isainfo_k" = "amd64"],[
        IS_64="-m64"
        LDFLAGS="${LDFLAGS} -L/usr/lib/${isainfo_k} -L/usr/local/lib/${isainfo_k}"
      ])
    ])

    CFLAGS="-g -xO4 -xlibmil -xdepend -Xa -mt -xstrconst ${IS_64} ${MEMALIGN_FLAGS} $CFLAGS"
    CXXFLAGS="-g -xO4 -xlibmil -mt ${IS_64} ${MEMALIGN_FLAGS} -xlang=c99 -compat=5 -library=stlport4 -template=no%extdef $CXXFLAGS"
  ])
  AC_LANG_POP()
])