summaryrefslogtreecommitdiff
authorschurig <schurig>2003-05-30 12:30:32 (UTC)
committer schurig <schurig>2003-05-30 12:30:32 (UTC)
commitc5702b8ef047530fcaa56d78a66970879733b113 (patch) (side-by-side diff)
tree890ffb692e846c3daa03eaabc391b1734abf8b0b
parent22fff7051b1960f4ae751621c8f52e0fc732033d (diff)
downloadopie-c5702b8ef047530fcaa56d78a66970879733b113.zip
opie-c5702b8ef047530fcaa56d78a66970879733b113.tar.gz
opie-c5702b8ef047530fcaa56d78a66970879733b113.tar.bz2
initial support for Ramses
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--Makefile3
-rw-r--r--Vars.make3
-rw-r--r--mkspecs/qws/linux-ramses-g++/qmake.conf76
-rw-r--r--mkspecs/qws/linux-ramses-g++/qplatformdefs.h103
4 files changed, 185 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 4d11615..f5c0dbd 100644
--- a/Makefile
+++ b/Makefile
@@ -1,125 +1,128 @@
#!/usr/bin/make -f
export TOPDIR:=$(shell pwd)
include $(TOPDIR)/Vars.make
+ifneq ($(wildcard $(TOPDIR)/Vars.local),)
+include $(TOPDIR)/Vars.local
+endif
noconfig_targets := xconfig menuconfig config oldconfig randconfig \
defconfig allyesconfig allnoconfig allmodconfig \
clean-configs $(TOPDIR)/scripts/subst $(TOPDIR)/scripts/filesubst \
ipks
configs += $(TOPDIR)/core/applets/config.in $(TOPDIR)/core/apps/config.in $(TOPDIR)/core/multimedia/config.in $(TOPDIR)/core/pim/config.in $(TOPDIR)/core/pim/today/plugins/config.in $(TOPDIR)/core/settings/config.in $(TOPDIR)/development/config.in $(TOPDIR)/inputmethods/config.in $(TOPDIR)/libopie/ofileselector/config.in $(TOPDIR)/libopie/pim/config.in $(TOPDIR)/libsql/config.in $(TOPDIR)/noncore/applets/config.in $(TOPDIR)/noncore/apps/opie-console/test/config.in $(TOPDIR)/noncore/apps/config.in $(TOPDIR)/noncore/comm/config.in $(TOPDIR)/noncore/decorations/config.in $(TOPDIR)/noncore/games/config.in $(TOPDIR)/noncore/graphics/config.in $(TOPDIR)/noncore/multimedia/config.in $(TOPDIR)/noncore/net/config.in $(TOPDIR)/noncore/net/opietooth/config.in $(TOPDIR)/noncore/settings/config.in $(TOPDIR)/noncore/styles/config.in $(TOPDIR)/noncore/tools/calc2/config.in $(TOPDIR)/noncore/tools/config.in $(TOPDIR)/noncore/todayplugins/config.in
# $(TOPDIR)/.config depends on .depends.cfgs, as it depends on $(configs)
# in order to have a full set of config.in files.
# .depends depends on $(TOPDIR)/.config
# everything else depends on .depends, to ensure the dependencies are
# intact.
#
# NOTE: The order in which things happen in this makefile is
# -critical-. Do not rearrange this!
all : $(TOPDIR)/.config
ipks: $(OPIEDIR)/scripts/subst $(OPIEDIR)/scripts/filesubst FORCE $(TOPDIR)/.config
@find $(OPIEDIR)/ -type f -name \*.control | ( for ctrl in `cat`; do \
prerm=`echo $$ctrl|sed -e 's,\.control$$,.prerm,'`; \
preinst=`echo $$ctrl|sed -e 's,\.control$$,.preinst,'`; \
postrm=`echo $$ctrl|sed -e 's,\.control$$,.postrm,'`; \
postinst=`echo $$ctrl|sed -e 's,\.control$$,.postinst,'`; \
echo "Building ipk of $$ctrl"; \
cd $(OPIEDIR); $(OPIEDIR)/scripts/mkipkg --subst=$(OPIEDIR)/scripts/subst --filesubst=$(OPIEDIR)/scripts/filesubst --control=$$ctrl --prerm=$$prerm --preinst=$$preinst --postrm=$$postrm --postinst=$$postinst --strip=$(STRIP) $(OPIEDIR); \
done )
$(TOPDIR)/.config : $(TOPDIR)/.depends.cfgs
all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(TOPDIR)/.depends.cfgs
clean-configs :
@echo "Wiping generated config.in files..."
@-rm -f $(configs)
ifneq ($(wildcard $(TOPDIR)/.depends.cfgs),)
include $(TOPDIR)/.depends.cfgs
endif
all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(configs)
$(TOPDIR)/.config: $(TOPDIR)/.depends.cfgs $(configs)
$(call descend,scripts/kconfig,conf)
@if [ ! -e $@ ]; then \
cp $(TOPDIR)/def-configs/opie $@; \
fi;
@$(MAKE) -C scripts/kconfig conf;
./scripts/kconfig/conf -s ./config.in
# config rules must have the $(configs) var defined
# at the time that they run. we must ensure that .depends.cfgs
# is built and included by the time we reach this point.
xconfig :
$(call descend,scripts/kconfig,qconf)
LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(TOPDIR)/scripts/kconfig \
./scripts/kconfig/qconf ./config.in
menuconfig : scripts/lxdialog/lxdialog
$(call descend,scripts/kconfig,mconf)
./scripts/kconfig/mconf ./config.in
config :
$(call descend,scripts/kconfig,conf)
./scripts/kconfig/conf ./config.in
oldconfig :
$(call descend,scripts/kconfig,conf)
./scripts/kconfig/conf -o ./config.in
randconfig :
$(call descend,scripts/kconfig,conf)
./scripts/kconfig/conf -r ./config.in
allyesconfig :
$(call descend,scripts/kconfig,conf)
./scripts/kconfig/conf -y ./config.in
allnoconfig :
$(call descend,scripts/kconfig,conf)
./scripts/kconfig/conf -n ./config.in
defconfig :
$(call descend,scripts/kconfig,conf)
./scripts/kconfig/conf -d ./config.in
export
ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
export include-config := 1
-include $(TOPDIR)/.config
-include $(TOPDIR)/.depends
endif
-include $(TOPDIR)/.config.cmd
SUBDIRS = $(subdir-y)
all clean install ipk: $(SUBDIRS)
lupdate lrelease:
@for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done;
opie-lupdate opie-lrelease:
@for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done;
$(subdir-y) : $(if $(CONFIG_LIBQPE),$(QTDIR)/stamp-headers $(OPIEDIR)/stamp-headers) \
$(if $(CONFIG_LIBQPE-X11),$(QTDIR)/stamp-headers-x11 $(OPIEDIR)/stamp-headers-x11 ) \
$(TOPDIR)/library/custom.h
clean : $(TOPDIR)/.config
apidox : doc/generate_apidox
include $(TOPDIR)/Rules.make
diff --git a/Vars.make b/Vars.make
index 82421e5..330b455 100644
--- a/Vars.make
+++ b/Vars.make
@@ -1,85 +1,88 @@
ifndef QTDIR
$(error QTDIR not set)
endif
prefix=/opt/QtPalmtop
ifeq ($(OPIEDIR),)
export OPIEDIR:=$(TOPDIR)
endif
ifeq ($(IPK_DIR),)
export IPK_DIR:=$(OPIEDIR)
endif
ifneq ($(wildcard $(TOPDIR)/.config),)
include $(TOPDIR)/.config
endif
export QMAKE:=$(OPIEDIR)/qmake/qmake
export QMAKESPECSDIR=$(OPIEDIR)/mkspecs
ifeq ($(QPE_VERSION),)
VERSION_MAJ:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION "\([0-9]*\)\..*\..*".*/\1/p' <$(OPIEDIR)/library/version.h))
VERSION_MIN:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION ".*\.\([0-9]*\)\..*".*/\1/p' <$(OPIEDIR)/library/version.h))
VERSION_PAT:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION ".*\..*\.\([0-9]*\).*/\1/p' <$(OPIEDIR)/library/version.h))
QPE_VERSION:=$(VERSION_MAJ).$(VERSION_MIN).$(VERSION_PAT)
ifeq ($(QPE_VERSION),..)
QPE_VERSION=0.9.3
endif
endif
export QPE_VERSION
SUB_VERSION=$(shell echo $$(sed -n -e 's,.*SUB_VERSION \"\(.*\)\".*,\1,p' <$(OPIEDIR)/library/version.h))
ifeq ($(VERSION_CVS),)
VERSION_CVS:=$(shell date +%Y%m%d)
endif
ifneq ($(filter %snapshot",$(shell cat $(OPIEDIR)/library/version.h|grep QPE_VERSION)),)
SUB_VERSION:=$(VERSION_CVS)
endif
export SUB_VERSION
ifeq ($(QTE_REVISION),)
QTE_REVISION=5
endif
export QTE_REVISION
export DEB_VERSION=2.0
ifeq ($(QTE_BASEVERSION),)
ifneq ($(shell ls $(QTDIR)/include/qglobal.h 2>/dev/null),)
QTE_BASEVERSION:=$(shell cat $(QTDIR)/include/qglobal.h|grep '^\#define QT_VERSION'|grep -v STR|sed -e 's/\#define QT_VERSION\t*//; s/.*\([0-9]\)\([0-9]\)\([0-9]\).*/\1.\2.\3/;')
else
QTE_BASEVERSION=2.3.5
endif
endif
export QTE_BASEVERSION
ifeq ($(QTE_VERSION),)
ifneq ($(shell ls $(QTDIR)/include/qglobal.h 2>/dev/null),)
QTE_VERSION:=$(shell cat $(QTDIR)/include/qglobal.h|grep '^\#define QT_VERSION_STR'|sed -e 's/\#define QT_VERSION_STR\t*//;' -e 's/.*"\([^"]*\)".*/\1/;')
else
QTE_VERSION=2.3.5
endif
endif
export QTE_VERSION
export PATH:=$(OPIEDIR)/scripts:$(PATH)
export QMAKESPEC=$(QMAKESPECSDIR)/$(patsubst "%",%,$(CONFIG_SPECFILE))
ifdef CONFIG_OPTIMIZATIONS
export CFLAGS_RELEASE=$(patsubst "%,%,$(CONFIG_OPTIMIZATIONS))
export CFLAGS_RELEASE:=$(patsubst %",%,$(CFLAGS_RELEASE))
endif
ifeq ($(STRIP),)
ifneq ($(CONFIG_TARGET_X86),)
STRIP=strip
endif
ifneq ($(CONFIG_TARGET_IPAQ),)
STRIP=arm-linux-strip
endif
ifneq ($(CONFIG_TARGET_SHARP),)
STRIP=arm-linux-strip
endif
+ ifneq ($(CONFIG_TARGET_RAMSES),)
+ STRIP=arm-linux-strip
+ endif
endif
diff --git a/mkspecs/qws/linux-ramses-g++/qmake.conf b/mkspecs/qws/linux-ramses-g++/qmake.conf
new file mode 100644
index 0000000..0eb96e3
--- a/dev/null
+++ b/mkspecs/qws/linux-ramses-g++/qmake.conf
@@ -0,0 +1,76 @@
+#
+# $Id$
+#
+# qmake configuration for linux-g++ using the arm-linux-g++ crosscompiler
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release
+
+QMAKE_CC = ccache 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 arm-linux-g++ -DQT_QWS_RAMSES -DQT_QWS_DEVFS -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 =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_QT = $(QTDIR)/include
+QMAKE_LIBDIR_QT = $(QTDIR)/lib
+QMAKE_INCDIR_OPENGL = /usr/X11R6/include
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+
+QMAKE_LINK = arm-linux-gcc
+QMAKE_LINK_SHLIB = arm-linux-gcc
+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,
+
+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_THREAD = -lpthread
+
+QMAKE_MOC = $(QTDIR)/bin/moc
+QMAKE_UIC = $(QTDIR)/bin/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
diff --git a/mkspecs/qws/linux-ramses-g++/qplatformdefs.h b/mkspecs/qws/linux-ramses-g++/qplatformdefs.h
new file mode 100644
index 0000000..8fea644
--- a/dev/null
+++ b/mkspecs/qws/linux-ramses-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