#
# qmake configuration for hpuxi-g++-64
#
# We define _POSIX_C_SOURCE to 199506L when using threads, therefore
# we also need to redefine _HPUX_SOURCE.
# From pthread(3t):
#   Some documentation will recommend the use of -D_REENTRANT for
#   compilation.  While this also functions properly, it is considered
#   an obsolescent form.
# See pthread(3t) for more details.
#

MAKEFILE_GENERATOR      = UNIX
QMAKE_PLATFORM          = hpux

include(../common/unix.conf)

QMAKE_COMPILER          = gcc

QMAKE_CC                = gcc
QMAKE_LEX               = flex
QMAKE_LEXFLAGS          =
QMAKE_YACC              = yacc
QMAKE_YACCFLAGS         = -d
QMAKE_CFLAGS            = -mlp64
QMAKE_CFLAGS_DEPS       = -M
QMAKE_CFLAGS_WARN_ON    = -Wall -W
QMAKE_CFLAGS_WARN_OFF   = -w
QMAKE_CFLAGS_RELEASE    = -O2
QMAKE_CFLAGS_DEBUG      = -g
QMAKE_CFLAGS_SHLIB      = -fPIC
QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
QMAKE_CFLAGS_YACC       = -Wno-unused -Wno-parentheses
QMAKE_CFLAGS_THREAD     = -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE

QMAKE_CXX               = g++
QMAKE_CXXFLAGS          = $$QMAKE_CFLAGS -D_HPUX_SOURCE
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  = $$QMAKE_CFLAGS_RELEASE
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   = -D_POSIX_C_SOURCE=199506L

QMAKE_INCDIR            =
QMAKE_LIBDIR            = /usr/lib/hpux64
QMAKE_INCDIR_X11        = /usr/include/X11R6
QMAKE_LIBDIR_X11        = /usr/lib/hpux64/X11R6
QMAKE_INCDIR_OPENGL     = /opt/graphics/OpenGL/include /usr/contrib/X11R6/include
QMAKE_LIBDIR_OPENGL     = /opt/graphics/OpenGL/lib/hpux64 /usr/contrib/X11R6/lib/hpux64

QMAKE_LINK              = g++
QMAKE_LINK_SHLIB        = g++
QMAKE_LINK_C            = gcc
QMAKE_LINK_C_SHLIB      = gcc
QMAKE_LFLAGS            = -mlp64 -Wl,+s
QMAKE_LFLAGS_RELEASE    =
QMAKE_LFLAGS_DEBUG      =
QMAKE_LFLAGS_SHLIB      = -fPIC -shared
QMAKE_LFLAGS_PLUGIN     = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME     = -Wl,+h,
QMAKE_LFLAGS_THREAD     = -lpthread
QMAKE_LFLAGS_NOUNDEF    = -Wl,+noallowunsats
QMAKE_LFLAGS_RPATH      = -Wl,+b,

QMAKE_LIBS              = -lm
QMAKE_LIBS_DYNLOAD      = -ldl
QMAKE_LIBS_X11          = -lXext -lX11
QMAKE_LIBS_OPENGL       = -lGL
QMAKE_LIBS_THREAD       = -lpthread
QMAKE_LIBS_YACC         = -ly

QMAKE_AR                = ar cqs
QMAKE_OBJCOPY           = objcopy
QMAKE_NM                = nm -P
QMAKE_RANLIB            =

load(qt_config)
