summaryrefslogtreecommitdiff
path: root/mkspecs
authormickeyl <mickeyl>2004-11-15 14:29:41 (UTC)
committer mickeyl <mickeyl>2004-11-15 14:29:41 (UTC)
commit5e6ce0ba567dd9c8ae33353fcf1d0554b34241e8 (patch) (side-by-side diff)
treee3903fd3f146c16d3521db20a6f3ca2db8b95121 /mkspecs
parentc9543dc4edd3ea586c04e8114e133296ad9529d9 (diff)
downloadopie-5e6ce0ba567dd9c8ae33353fcf1d0554b34241e8.zip
opie-5e6ce0ba567dd9c8ae33353fcf1d0554b34241e8.tar.gz
opie-5e6ce0ba567dd9c8ae33353fcf1d0554b34241e8.tar.bz2
this improves Opie build system playing more nice with OE. instructions later...
alert me if this breaks the non-oe work (which i doubt)
Diffstat (limited to 'mkspecs') (more/less context) (ignore whitespace changes)
-rw-r--r--mkspecs/qws/linux-oe-g++/qmake.conf86
-rw-r--r--mkspecs/qws/linux-oe-g++/qplatformdefs.h103
2 files changed, 189 insertions, 0 deletions
diff --git a/mkspecs/qws/linux-oe-g++/qmake.conf b/mkspecs/qws/linux-oe-g++/qmake.conf
new file mode 100644
index 0000000..c4c273f
--- a/dev/null
+++ b/mkspecs/qws/linux-oe-g++/qmake.conf
@@ -0,0 +1,86 @@
+#
+# $Id$
+#
+# qmake configuration for linux-g++ using the arm-linux-g++ crosscompiler
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt link_prl
+
+STAGING_BINDIR = $(OEDIR)/tmp/staging/i686-linux/bin
+STAGING_CROSSDIR = $(OEDIR)/tmp/cross/bin
+STAGING_INCDIR = $(OEDIR)/tmp/staging/arm-linux/include
+STAGING_LIBDIR = $(OEDIR)/tmp/staging/arm-linux/lib
+
+QMAKE_CC = $(CCACHE) $(DISTCC) $$STAGING_CROSSDIR/arm-linux-gcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -pipe $(CFLAGS_EXTRA)
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF =
+QMAKE_CFLAGS_RELEASE = $(if $(CFLAGS_RELEASE),$(CFLAGS_RELEASE), -O2)
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+
+QMAKE_CXX = $(CCACHE) $(DISTCC) $$STAGING_CROSSDIR/arm-linux-g++ -DQT_QWS_SL5XX -DQT_QWS_SHARP -DQT_QWS_EBX -DQT_QWS_CUSTOM
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -DQWS -fno-exceptions -fno-rtti $(CXXFLAGS_EXTRA)
+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_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR = $$STAGING_INCDIR
+QMAKE_LIBDIR = $$STAGING_LIBDIR
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_QT = $(QTDIR)/include
+QMAKE_LIBDIR_QT = $(QTDIR)/lib
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBDIR_OPENGL =
+QMAKE_INCDIR_QTOPIA =
+QMAKE_LIBDIR_QTOPIA =
+
+QMAKE_LINK = $$STAGING_CROSSDIR/arm-linux-g++
+QMAKE_LINK_SHLIB = $$STAGING_CROSSDIR/arm-linux-g++
+QMAKE_LFLAGS = $(LFLAGS_EXTRA)
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+QMAKE_LFLAGS_THREAD =
+QMAKE_RPATH = -Wl,-rpath-link,
+
+QMAKE_LIBS = $(LIBS_EXTRA)
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 =
+QMAKE_LIBS_X11SM =
+QMAKE_LIBS_QT = -lqte
+QMAKE_LIBS_QT_THREAD = -lqte-mt
+QMAKE_LIBS_QT_OPENGL = -lqgl
+QMAKE_LIBS_QTOPIA = -lqpe
+QMAKE_LIBS_THREAD = -lpthread
+
+QMAKE_MOC = $$STAGING_BINDIR/moc
+QMAKE_UIC = $$STAGING_BINDIR/uic
+
+QMAKE_AR = ar cqs
+QMAKE_RANLIB =
+
+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
diff --git a/mkspecs/qws/linux-oe-g++/qplatformdefs.h b/mkspecs/qws/linux-oe-g++/qplatformdefs.h
new file mode 100644
index 0000000..8fea644
--- a/dev/null
+++ b/mkspecs/qws/linux-oe-g++/qplatformdefs.h
@@ -0,0 +1,103 @@
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+// DNS system header files are a mess!
+// <resolv.h> includes <arpa/nameser.h>. <arpa/nameser.h> is using
+// 'u_char' and includes <sys/types.h>. Now the problem is that
+// <sys/types.h> defines 'u_char' only if __USE_BSD is defined.
+// __USE_BSD is defined in <features.h> if _BSD_SOURCE is defined.
+#ifndef _BSD_SOURCE
+# define _BSD_SOURCE
+#endif
+
+// 1) need to reset default environment if _BSD_SOURCE is defined
+// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
+// 3) it seems older glibc need this to include the X/Open stuff
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#ifdef QT_THREAD_SUPPORT
+#include <pthread.h>
+#endif
+
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+#include <dlfcn.h>
+#define QT_RTLD_FLAGS RTLD_LAZY|RTLD_GLOBAL
+
+#include <sys/types.h>
+#include <sys/ioctl.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>
+
+// DNS header files are not fully covered by X/Open specifications.
+// In particular nothing is said about res_* :/
+// Header files <netinet/in.h> and <arpa/nameser.h> are not included
+// by <resolv.h> on older versions of the GNU C library. Note that
+// <arpa/nameser.h> must be included before <resolv.h>.
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+
+
+#if !defined(QT_NO_COMPAT)
+#define QT_STATBUF struct stat
+#define QT_STATBUF4TSTAT struct stat
+#define QT_STAT ::stat
+#define QT_FSTAT ::fstat
+#define QT_STAT_REG S_IFREG
+#define QT_STAT_DIR S_IFDIR
+#define QT_STAT_MASK S_IFMT
+#define QT_STAT_LNK S_IFLNK
+#define QT_FILENO fileno
+#define QT_OPEN ::open
+#define QT_CLOSE ::close
+#define QT_LSEEK ::lseek
+#define QT_READ ::read
+#define QT_WRITE ::write
+#define QT_ACCESS ::access
+#define QT_GETCWD ::getcwd
+#define QT_CHDIR ::chdir
+#define QT_MKDIR ::mkdir
+#define QT_RMDIR ::rmdir
+#define QT_OPEN_RDONLY O_RDONLY
+#define QT_OPEN_WRONLY O_WRONLY
+#define QT_OPEN_RDWR O_RDWR
+#define QT_OPEN_CREAT O_CREAT
+#define QT_OPEN_TRUNC O_TRUNC
+#define QT_OPEN_APPEND O_APPEND
+#endif
+
+#define QT_SIGNAL_RETTYPE void
+#define QT_SIGNAL_ARGS int
+#define QT_SIGNAL_IGNORE SIG_IGN
+
+#define QT_SOCKLEN_T socklen_t
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+
+#endif // QPLATFORMDEFS_H