#
# qmake configuration for freebsd-icc
#
# Written for Intel C++ 7.1 and 8.0 on FreeBSD
#
# Note: Some of the remarks from the Intel compiler are disabled (even
# with 'warn_on' specified):
#
# remark #171: invalid type conversion: "int" to "void *"
# remark #193: zero used for undefined preprocessing identifier
# remark #279: controlling expression is constant
# remark #304: access control not specified ("public" by default)
# remark #310: old-style parameter list (anachronism)
# remark #383: value copied to temporary, reference to temporary used
# remark #424: extra ";" ignored
# remark #444: destructor for base class "Class" is not virtual
# remark #488: template parameter "T" is not used in declaring the parameter
#              types of function template "function"
# remark #810: conversion from "type1" to "type2" may loose significant bits
# remark #858: type qualifier on return type is meaningless
# remark #967: conversion from "type1" to "type2"; sizes do not match
# remark #981: operands are evaluated in unspecified order
# remark #1418: external definition with no prior declaration
# remark #1419: external declaration in primary source file
# warning #1476: field uses tail padding of a base class
# warning #1477: GNU C++ compilers may use bit field padding
# warning #1572: floating-point equality and inequality comparisons are unreliable
#

MAKEFILE_GENERATOR      = UNIX
QMAKE_PLATFORM          = freebsd bsd

QMAKE_COMPILER          = gcc intel_icc   # icc pretends to be gcc

QMAKE_CC                = icc
QMAKE_LEX               = flex
QMAKE_LEXFLAGS          =
QMAKE_YACC              = yacc
QMAKE_YACCFLAGS         = -d
QMAKE_CFLAGS            = -wd858,1572
QMAKE_CFLAGS_DEPS       = -M
QMAKE_CFLAGS_WARN_ON    = -w2 -wd171,193,279,304,310,383,424,444,488,810,967,981,1418,1419,1476,1477
QMAKE_CFLAGS_WARN_OFF   = -w
QMAKE_CFLAGS_RELEASE    =
QMAKE_CFLAGS_DEBUG      = -g
QMAKE_CFLAGS_SHLIB      = -fpic
QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
QMAKE_CFLAGS_YACC       =
QMAKE_CFLAGS_THREAD     = -D_THREAD_SAFE

QMAKE_CXX               = icpc
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  = $$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   = $$QMAKE_CFLAGS_THREAD

# Addon software goes into /usr/local on the BSDs, by default we will look there
QMAKE_INCDIR            = /usr/local/include
QMAKE_LIBDIR            = /usr/local/lib
QMAKE_INCDIR_X11        = /usr/X11R6/include
QMAKE_LIBDIR_X11        = /usr/X11R6/lib
QMAKE_INCDIR_OPENGL     = /usr/X11R6/include
QMAKE_LIBDIR_OPENGL     = /usr/X11R6/lib

QMAKE_LINK              = icpc
QMAKE_LINK_SHLIB        = icpc
QMAKE_LFLAGS            =
QMAKE_LFLAGS_RELEASE    =
QMAKE_LFLAGS_DEBUG      =
QMAKE_LFLAGS_SHLIB      = -shared
QMAKE_LFLAGS_PLUGIN     = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME     = -Qoption,ld,-soname,
QMAKE_LFLAGS_THREAD     = -mt
QMAKE_LFLAGS_RPATH      = -Qoption,ld,-rpath,

QMAKE_LIBS              =
QMAKE_LIBS_DYNLOAD      =
QMAKE_LIBS_X11          = -lXext -lX11 -lm
QMAKE_LIBS_OPENGL       = -lGL
QMAKE_LIBS_THREAD       =

QMAKE_AR                = ar cqs
QMAKE_OBJCOPY           = objcopy
QMAKE_RANLIB            =

include(../common/unix.conf)
load(qt_config)
