#
# qmake configuration for solaris-cc-64
#
# Written for Forte Developer 6 and Sun ONE Studio 7 and 8
#
# From the standards(5) manual page:
#   The XNS4 specification is safe for use only in ILP32 (32-bit)
#   environments and should not be used for LP64 (64-bit)
#   application environments. Use XNS5, which has LP64-clean
#   interfaces that are portable across ILP32 and LP64 environments.
#   [...]
#   For platforms supporting the LP64 (64-bit) programming environment
#   where the SC5.0 Compilers have been installed, SUSv2-conforming LP64
#   applications using XNS5 library calls should be built with command
#   lines of the form:
#     c89 $(getconf XBS5_LP64_OFF64_CFLAGS) -D_XOPEN_SOURCE=500 \
#         $(getconf XBS5_LP64_OFF64_LDFLAGS) foo.c -o foo \
#         $(getconf XBS5_LP64_OFF64_LIBS) -lxnet
# So it appears that _XOPEN_SOURCE=500 should be defined when building
# 64-bit applications (on Solaris 7 and better). But then __EXTENSIONS__
# should be defined as well to recover all the default system interface.
#

MAKEFILE_GENERATOR      = UNIX
QMAKE_PLATFORM          = solaris

include(../common/unix.conf)

QMAKE_COMPILER          = sun_cc

QMAKE_CC                = cc
QMAKE_LEX               = flex
QMAKE_LEXFLAGS          =
QMAKE_YACC              = yacc
QMAKE_YACCFLAGS         = -d
QMAKE_CFLAGS            = -xarch=generic64
QMAKE_CFLAGS_DEPS       = -xM
QMAKE_CFLAGS_WARN_ON    =
QMAKE_CFLAGS_WARN_OFF   = -w
QMAKE_CFLAGS_RELEASE    = -O
QMAKE_CFLAGS_DEBUG      = -g
QMAKE_CFLAGS_SHLIB      = -KPIC
QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
QMAKE_CFLAGS_YACC       =
QMAKE_CFLAGS_THREAD     = -mt
QMAKE_CFLAGS_HIDESYMS   = -xldscope=hidden

QMAKE_CXX               = CC
QMAKE_CXXFLAGS          = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_DEPS     = $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON  = $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE  = -O
QMAKE_CXXFLAGS_DEBUG    = $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_SHLIB    = $$QMAKE_CFLAGS_SHLIB
QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
QMAKE_CXXFLAGS_YACC     = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_THREAD   = $$QMAKE_CFLAGS_THREAD
QMAKE_CXXFLAGS_HIDESYMS = $$QMAKE_CFLAGS_HIDESYMS

QMAKE_INCDIR            = /usr/sfw/include
QMAKE_LIBDIR            = /usr/sfw/lib/64
QMAKE_INCDIR_X11        = /usr/openwin/include
QMAKE_LIBDIR_X11        = /usr/openwin/lib/64
QMAKE_INCDIR_OPENGL     = /usr/openwin/include
QMAKE_LIBDIR_OPENGL     = /usr/openwin/lib/64

QMAKE_LINK              = CC
QMAKE_LINK_SHLIB        = CC
QMAKE_LFLAGS            = -xarch=generic64
QMAKE_LFLAGS_RELEASE    =
QMAKE_LFLAGS_DEBUG      =
QMAKE_LFLAGS_SHLIB      = -G
QMAKE_LFLAGS_PLUGIN     = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME     = -h$$LITERAL_WHITESPACE
QMAKE_LFLAGS_THREAD     = -mt
QMAKE_LFLAGS_NOUNDEF    = -z defs
QMAKE_LFLAGS_RPATH      = -R

QMAKE_LIBS              =
QMAKE_LIBS_DYNLOAD      = -ldl
QMAKE_LIBS_X11          = -lXext -lX11 -lresolv -lsocket -lnsl
QMAKE_LIBS_OPENGL       = -lGL
QMAKE_LIBS_THREAD       = -lpthread -lrt
QMAKE_LIBS_NETWORK      = -lresolv -lsocket -lxnet -lnsl

QMAKE_AR                = CC -xar -o
QMAKE_OBJCOPY           = objcopy
QMAKE_NM                = nm -P
QMAKE_RANLIB            =

QMAKE_CLEAN             = -r $(OBJECTS_DIR)Templates.DB $(OBJECTS_DIR)SunWS_cache

load(qt_config)
