summaryrefslogtreecommitdiffstats
path: root/mkspecs/solaris-cc
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/solaris-cc')
-rw-r--r--mkspecs/solaris-cc/qmake.conf93
-rw-r--r--mkspecs/solaris-cc/qplatformdefs.h124
2 files changed, 217 insertions, 0 deletions
diff --git a/mkspecs/solaris-cc/qmake.conf b/mkspecs/solaris-cc/qmake.conf
new file mode 100644
index 0000000000..0672841acc
--- /dev/null
+++ b/mkspecs/solaris-cc/qmake.conf
@@ -0,0 +1,93 @@
+#
+# qmake configuration for solaris-cc
+#
+# Written for Forte Developer 6 and Sun ONE Studio 7 and 8
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = cc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS =
+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 = -O2
+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
+QMAKE_INCDIR_X11 = /usr/openwin/include
+QMAKE_LIBDIR_X11 = /usr/openwin/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /usr/openwin/include
+QMAKE_LIBDIR_OPENGL = /usr/openwin/lib
+
+QMAKE_LINK = CC
+QMAKE_LINK_SHLIB = CC
+QMAKE_LFLAGS =
+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_X11SM = -lSM -lICE
+QMAKE_LIBS_NIS =
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD = -lpthread -lrt
+QMAKE_LIBS_NETWORK = -lresolv -lsocket -lxnet -lnsl
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = CC -xar -o
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_CLEAN = -r $(OBJECTS_DIR)Templates.DB $(OBJECTS_DIR)SunWS_cache
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+include(../common/unix.conf)
+load(qt_config)
diff --git a/mkspecs/solaris-cc/qplatformdefs.h b/mkspecs/solaris-cc/qplatformdefs.h
new file mode 100644
index 0000000000..1db39d8487
--- /dev/null
+++ b/mkspecs/solaris-cc/qplatformdefs.h
@@ -0,0 +1,124 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+#define _XOPEN_SOURCE 500
+#define __EXTENSIONS__
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+#include <unistd.h>
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/filio.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+#undef QT_SOCKET_CONNECT
+
+#define QT_SOCKET_CONNECT qt_socket_connect
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE-0 >= 500) && (_XOPEN_VERSION-0 >= 500)
+// Solaris 7 and better with specific feature test macros
+#define QT_SOCKLEN_T socklen_t
+#elif defined(_XOPEN_SOURCE_EXTENDED) && (_XOPEN_VERSION-0 >= 4)
+// Solaris 2.6 and better with specific feature test macros
+#define QT_SOCKLEN_T size_t
+#else
+// always this case in practice
+#define QT_SOCKLEN_T int
+#endif
+
+// Solaris redefines connect -> __xnet_connect with _XOPEN_SOURCE_EXTENDED
+static inline int qt_socket_connect(int s, struct sockaddr *addr, QT_SOCKLEN_T addrlen)
+{ return ::connect(s, addr, addrlen); }
+
+#if !defined(_XOPEN_UNIX)
+// Solaris 2.5.1
+// Function usleep() is defined in C library but not declared in header files
+// on Solaris 2.5.1. Not really a surprise, usleep() is specified by XPG4v2
+// and XPG4v2 is only supported by Solaris 2.6 and better.
+// Function gethostname() is also defined in C library but not declared in
+// header files on Solaris 2.5.1.
+typedef unsigned int useconds_t;
+extern "C" int usleep(useconds_t);
+extern "C" int gethostname(char *, int);
+#endif
+
+#if defined(_XOPEN_UNIX)
+// Solaris 2.6 and better
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#ifdef connect
+#undef connect
+#endif
+
+#endif // QPLATFORMDEFS_H