qt3 stable port information

Package: qt3
Version: 3.3.8
Revision: 1028
# NB: 3.3.8-1027 did exist for a while
Description: Cross-Platform GUI application framework
License: GPL
Maintainer: Benjamin Reed

Depends: <<
%N-shlibs (= %v-%r),
%N-designer (= %v-%r),
%N-linguist (= %v-%r),
%N-doc (= %v-%r),
pkgconfig,
macosx (>= 10.4.3-1)
<<
BuildDepends: <<
cctools (>= 446-0) | cctools-single-module,
cups-dev,
fink (>= 0.26.0-1),
freetype219,
libgl-dev,
libpng3 (>= 1.2.8-1),
libjpeg,
macosx (>= 10.4.3-1),
pkgconfig,
x11-dev
<<
BuildConflicts: autogen-dev
Provides: %N-bin
Conflicts: <<
qt,
qt2,
%N-dev
<<
Replaces: <<
qt,
qt2,
%N-doc,
%N-bin,
%N-dev,
%N-designer
<<
Suggests: <<
libpng3,
libjpeg,
%N-mysql (>= %v-1),
%N-postgresql (>= %v-1)
<<
BuildDependsOnly: true
GCC: 4.0

CustomMirror: <<
Primary: ftp://ftp.trolltech.com/qt/source
aus-AU: http://public.ftp.planetmirror.com.au/pub/trolltech/qt/source
eur-DE: ftp://ftp.fu-berlin.de/unix/X11/gui/Qt/source
eur-DE: http://wftp.tu-chemnitz.de/pub/Qt/source
eur-ES: http://sunsite.rediris.es/mirror/Qt/source
eur-GR: http://ftp.ntua.gr/pub/X11/Qt/qt/source
eur-NO: ftp://ftp.trolltech.com/qt/source
eur-RO: http://ftp.iasi.roedu.net/mirrors/ftp.trolltech.com/qt/sources
nam-US: http://ftp.silug.org/mirrors/ftp.trolltech.com/qt/source
<<
Source: mirror:custom:qt-x11-free-%v.tar.bz2
Source-MD5: cf3c43a7dfde5bfb76f8001102fe6e85
Source2: http://ranger.befunk.com/fink/qt-upstream-patches-0004.tar.bz2
Source2-MD5: 1f27d5222813a0a29fe53fd8669e2239
Source2ExtractDir: qt-x11-free-%v
SourceDirectory: qt-x11-free-%v
PatchScript: <<
#!/bin/sh -ex
sed -e 's|@PREFIX@|%p|g' <%a/%n.patch | patch -p1
perl -pi -e 's|cp \-P|/bin/cp \-RL|' qmake/Makefile.unix

for patch in \
patches/qt-3.3.4-print-CJK.patch \
patches/qt-3.0.5-nodebug.patch \
patches/qt-x11-free-3.3.2-quiet.patch \
patches/qt-uic-nostdlib.patch \
patches/qt-x11-free-3.3.5-uic.patch \
patches/qt-x11-free-3.3.4-qfontdatabase_x11.patch \
patches/qt-3.3.3-gtkstyle.patch \
patches/qt-x11-free-3.3.4-fullscreen.patch \
; do
echo "patching with $patch"
patch -p1 --fuzz=4 < $patch
done

for patch in \
patches/0001-dnd_optimization.patch \
patches/0002-dnd_active_window_fix.patch \
patches/0005-qpixmap_mitshm.patch \
patches/0007-qpixmap_constants.patch \
patches/0015-qiconview-finditem.patch \
patches/0016-qiconview-rebuildcontainer.patch \
patches/0017-qiconview-ctrl_rubber.patch \
patches/0020-designer-deletetabs.patch \
patches/0032-fix_rotated_randr.diff \
patches/0035-qvaluelist-streaming-operator.patch \
patches/0036-qprogressbar-optimization.patch \
patches/0038-dragobject-dont-prefer-unknown.patch \
patches/0044-qscrollview-windowactivate-fix.diff \
patches/0046-qiconview-no-useless-scrollbar.diff \
patches/0047-fix-kmenu-width.diff \
patches/0048-qclipboard_hack_80072.patch \
patches/0049-qiconview-rubber_on_move.diff \
patches/0056-khotkeys_input_84434.patch \
patches/0059-qpopup_has_mouse.patch \
patches/0060-qpopup_ignore_mousepos.patch \
patches/0061-qscrollview-propagate-horizontal-wheelevent.patch \
patches/0073-xinerama-aware-qpopup.patch \
patches/0076-fix-qprocess.diff \
patches/0077-utf8-decoder-fixes.diff \
; do
echo "patching with $patch"
patch -p0 --fuzz=4 < $patch
done
<<

NoSetLDFLAGS: true
CompileScript: <<
#!/bin/sh -ex

CURRENTVERSION=`dpkg -p qt3 | grep '^Version:' | cut -d' ' -f2-`
DOREMOVE=0
for BADUPGRADE in 3.2.1-1 3.2.1-11 3.2.1-12; do
if [ "$CURRENTVERSION" = "$BADUPGRADE" ]; then
DOREMOVE=1
fi
done

for file in `ls -1 /lib/ 2>/dev/null | grep -E '(qt-mt|qt3)' | grep -v '.bad$'`; do
echo "WARNING: found suspicious file or directory \"$file\" -- moving to \"${file}.bad\""
/bin/mv "/lib/${file}" "/lib/${file}.bad"
done

if [ "$DOREMOVE" = "1" ]; then
echo "You have a version of qt3 installed that contains a bug that makes it impossible"
echo "to build this package. I am going to remove qt3 not to allow the upgrade to"
echo "happen. It should get re-installed as needed when the upgrade completes."
echo ""
echo -e "removing qt3... \c"
if dpkg -r --force-depends qt3 >/tmp/dpkg.output 2>&1; then
echo "done"
else
echo "failed!"
echo ""
echo "I was unable to remove the old qt3, this will probably cause problems building"
echo "this package. Please remove qt3 and then retry this build."
echo ""
echo "---( dpkg output )---"
cat /tmp/dpkg.output
fi
fi

unset QMAKESPEC
export QTDIR=`pwd`
export DYLD_LIBRARY_PATH="$QTDIR/lib:$QTDIR/plugins/designer:$QTDIR/plugins/imageformats"
export PATH="$QTDIR/bin:%p/lib/freetype219/bin:$PATH"
export INSTALL_ROOT=""
if [ -f /usr/lib/libresolv.dylib ]; then
LIBRESOLV="-lresolv"
perl -pi -e 's,#define QT_AOUT_UNDERSCORE,,' mkspecs/darwin-g++/qplatformdefs.h
else
LIBRESOLV=""
fi
# we have to force header/lib ordering or things get really wiggy
# looks ugly, but it's better than patching the source

# TODO: also, can't change the -buildkey until the next major OS release, unless
# I want to break binary-compat. Wish I'd noticed it before it made it into
# the wild. Lookin' forward to 10.5! :)

echo "yes" | ./configure $DEFINES \
'-I$(QTDIR)/include' '-L$(QTDIR)/lib' \
'-I%p/lib/freetype219/include' '-I%p/lib/freetype219/include/freetype2' '-L%p/lib/freetype219/lib' \
'-I%p/include' '-L%p/lib' \
'-I/usr/X11R6/include' '-L/usr/X11R6/lib' \
$LIBRESOLV -buildkey qt3-jaguar \
-platform darwin-g++ -xplatform darwin-g++ \
-prefix '%p/lib/qt3' -docdir '%p/share/doc/%n' \
-headerdir '%p/include/qt' -libdir '%p/lib' \
-release -shared -no-exceptions -thread -cups -stl \
-qt-gif -plugin-imgfmt-png -plugin-imgfmt-jpeg -plugin-imgfmt-mng \
-system-libpng -system-libjpeg -system-zlib -largefile \
-sm -xinerama -xrender -xft -xkb \
-plugin-sql-sqlite -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql

# don't link against older versions of self
/usr/bin/find . -name Makefile -print0 | xargs -0 perl -pi -e 's,-L%p/lib/%n/lib,,g'
# attempt to counterfix qmake's warped fileFixify logic that makes install break
# when %p is a symlink and something exists already at -libdir or -datadir etc
# second, better attempt at unfixifying %p:
pushd %p; FixifiedSW=`/bin/pwd -P`; popd
/usr/bin/find . -name Makefile -print0 | xargs -0 perl -pi -e "s,\\$\\(INSTALL_ROOT\\)$FixifiedSW,\\$\\(INSTALL_ROOT\\)%p,g"

make
<<

InstallScript: <<
#!/bin/sh -ex

#### MAIN INSTALL ####

unset QMAKESPEC
export QTDIR=`pwd`
export DYLD_LIBRARY_PATH="$QTDIR/lib:$QTDIR/plugins/designer:$QTDIR/plugins/imageformats"
export PATH="$QTDIR/bin:$PATH"

make -j1 install INSTALL_ROOT="%d"

#### COMPATIBILITY WITH OLD QT3 PACKAGES ####

# set up symlinks for compatibility with some old packages

# %p/bin
install -d -m 0755 %i/bin
for file in `cd %i/lib/%N/bin; ls`; do
ln -sf ../lib/%N/bin/$file %i/bin/$file
done

# %p/include/qt
install -d -m 0755 %i/lib/%N/include
/bin/cp -fRL %i/include/qt/* %i/lib/%N/include/

# %p/lib
install -d -m 0755 %i/lib/%N/lib
mv %i/lib/*.* %i/lib/%N/lib/

for file in `cd %i/lib/%N/lib; ls`; do
[ "$file" != "pkgconfig" ] && ln -sf %N/lib/$file %i/lib/$file
done

# clean up some bad data in the .la and .pc files
perl -pi -e "s,^libdir=.*,libdir='%p/lib/%N/lib',; s,-L..QTDIR./lib ,,; s,^includedir=.*,includedir='%p/lib/%N/include'," %i/lib/%N/lib/*.la %i/lib/pkgconfig/*.pc

# %p/lib/%N/doc
ln -sf ../../share/doc/%N %i/lib/%N/doc

# mkspecs bad symlink
rm -rf %i/lib/%N/mkspecs/default
ln -sf darwin-g++ %i/lib/%N/mkspecs/default

#### CLEAN UP FILES ####

# fix the -L$(QTDIR) junk in the .la file
perl -pi -e 's,\$\(QTDIR\),%p/lib/qt3,g' %i/lib/%N/lib/*.la

# remove the .prl files, we don't want them
rm -rf %i/lib{,/%N/lib}/*.prl

#### MAN PAGES ####

install -d -m 0755 %i/share/man/man1
install -d -m 0755 %i/share/man/man3
install -c -m 644 doc/man/man1/* %i/share/man/man1/
install -c -m 644 doc/man/man3/* %i/share/man/man3/

#### TUTORIALS AND EXAMPLES ####

# clean up the makefiles
perl -pi -e "s,^DEPENDPATH.*,,g;s,^REQUIRES.*,,g" `/usr/bin/find examples -name "*.pro"`

install -d -m 0755 %i/share/doc/%N/tutorial
install -d -m 0755 %i/share/doc/%N/examples
/bin/cp -fRL tutorial/* %i/share/doc/%N/tutorial/
/bin/cp -fRL examples/* %i/share/doc/%N/examples/

# kde icon for qt designer
install -d -m 0755 %i/share/applnk/Development
cat >%i/share/applnk/Development/designer.desktop < [Desktop Entry]
BinaryPattern=designer;
Name=Qt Designer
GenericName=Interface Designer
Exec=designer
Icon=designer
InitialPreference=5
MapNotify=true
MimeType=application/x-designer
Terminal=false
Encoding=UTF-8
Type=Application
EOF
cat >%i/share/applnk/Development/linguist.desktop < [Desktop Entry]
BinaryPattern=linguist;
Name=Qt Linguist
GenericName=Translation Editor
Exec=linguist
Icon=linguist
InitialPreference=5
MapNotify=true
Terminal=false
Encoding=UTF-8
Type=Application
EOF

/usr/bin/find %i/share/doc/%n/ -name \*.moc -print0 | xargs -0 rm -rf {} >/dev/null 2>&1 || :
/usr/bin/find %i/share/doc/%n/ -name \*.obj -print0 | xargs -0 rm -rf {} >/dev/null 2>&1 || :
/usr/bin/find %i/share/doc/%n/examples %i/share/doc/%n/tutorial -name Makefile -print0 | xargs -0 rm -rf >/dev/null 2>&1 || :
/usr/bin/find %i/share/doc/%n/ -name \*.pro -print0 | xargs -0 perl -pi -e 's,^(CONFIG\s*.*)$,$1 thread,' >/dev/null 2>&1 || :
/usr/bin/find %i/ -name \*.bak -print0 | xargs -0 rm -rf >/dev/null 2>&1 || :

install -d -m 755 %i/share/doc/installed-packages
touch %i/share/doc/installed-packages/%N
<<
DocFiles: FAQ INSTALL LICENSE* MANIFEST PLATFORMS README* bin/findtr bin/qt20fix bin/qtrename140
SplitOff: <<
Package: %N-shlibs
Depends: <<
fink (>= 0.26.0-1),
freetype219-shlibs,
libgl-shlibs,
libpng3-shlibs (>= 1.2.8-1),
libjpeg-shlibs,
x11-shlibs
<<
Conflicts: <<
qt-shlibs,
qt
<<
Replaces: <<
qt-shlibs,
qt,
qt3
<<
Suggests: <<
%N-designer,
%N-linguist,
%N-doc
<<
RuntimeVars: QTDIR: %p/lib/qt3
Files: <<
lib/libqt-mt.*.dylib
lib/libeditor.*.dylib
lib/libqui.*.dylib
lib/%N/lib/libqt-mt.*.dylib
lib/%N/lib/libeditor.*.dylib
lib/%N/lib/libqui.*.dylib
lib/%N/plugins/imageformats
lib/%N/plugins/sqldrivers
<<
Shlibs: <<
%p/lib/libeditor.1.dylib 1.0.0 %n (>= 3.3.6-2)
%p/lib/libqt-mt.3.dylib 3.3.0 %n (>= 3.3.6-2)
%p/lib/libqui.1.dylib 1.0.0 %n (>= 3.3.6-2)
<<
PostInstScript: <<
(/usr/X11R6/bin/fc-cache -f || :) >/tmp/fc-cache.log 2>&1 || :
if [ -d %p/lib/%N-plugins ] && [ ! -L %p/lib/%N-plugins ]; then
if rsync -arL %p/lib/%N-plugins/ %p/lib/%N/plugins/; then
rm -rf %p/lib/%N-plugins
ln -sf %N/plugins %p/lib/%N-plugins
else
cat < WARNING: I was unable to copy your plugins from the (deprecated)
%p/lib/%N-plugins directory into %p/lib/%N/plugins.

Some Qt applications may not work as expected.
END
fi
fi
<<
<<
SplitOff2: <<
Package: %N-designer
Depends: <<
%N-designer-shlibs (= %v-%r),
x11
<<
Conflicts: qt2
Replaces: <<
%N-bin,
qt2
<<
Files: <<
bin/designer
share/applnk/Development/designer.desktop
lib/%N/bin/designer
lib/%N/templates
<<
<<
SplitOff3: <<
Package: %N-designer-shlibs
Depends: <<
%N-shlibs (= %v-%r),
x11-shlibs
<<
Conflicts: qt2
Replaces: <<
%N-designer,
qt2
<<
Files: <<
lib/libdesignercore.*.dylib
lib/%N/lib/libdesignercore.*.dylib
lib/%N/plugins/designer
<<
Shlibs: %p/lib/libdesignercore.1.dylib 1.0.0 %n (>= 3.3.8-1)
<<
SplitOff4: <<
Package: %N-linguist
Depends: <<
%N-shlibs (= %v-%r),
libjpeg-shlibs,
libpng3-shlibs (>= 1.2.8-1),
x11
<<
Conflicts: qt2
Replaces: <<
%N-bin,
qt2
<<
Files: <<
bin/l*
bin/qm2ts
share/man/man1/lrelease.1
share/man/man1/lupdate.1
share/applnk/Development/linguist.desktop
lib/%N/bin/l*
lib/%N/bin/qm2ts
lib/%N/phrasebooks
<<
<<
SplitOff5: <<
Package: %N-doc
Conflicts: <<
qt-doc,
qt2,
qt
<<
Replaces: <<
qt-doc,
qt2,
qt,
qt3
<<
Files: share/doc/%N lib/%N/doc
<<

PreInstScript: rm -rf %p/lib/%N/mkspecs/default

Homepage: http://www.trolltech.com/
DescPackaging: <<
As of Qt 3.3.6-2, I've moved everything to %p/lib/qt3 instead of %p.
This lets me put the headers back into a "standard" location ($QTDIR/include)
and clean up a lot of stuff. -install_name's are preserved as
%p/lib/libfoo.x.dylib, and symlinks exist to make sure things are still
available to software that expects things in the fink non-standard locations,
so the change should be transparent to existing software.

Also, "make install" actually works again. Yay!
<<

qt3 stable port .patch


--- qt-x11-free-3.3.8/Makefile 2005-01-03 11:08:00.000000000 -0500
+++ qt-x11-free-3.3.8-new/Makefile 2007-10-04 16:09:34.000000000 -0400
@@ -11,7 +11,7 @@
install: FORCE
@$(MAKE) qt.install

-all: symlinks src-qmake src-moc sub-src sub-tools sub-tutorial sub-examples
+all: symlinks src-qmake src-moc sub-src sub-tools
@echo
@echo "The Qt library is now built in ./lib"
@echo "The Qt examples are built in the directories in ./examples"
--- qt-x11-free-3.3.8/config.tests/x11/xfreetype.test 2004-08-09 16:16:57.000000000 -0400
+++ qt-x11-free-3.3.8-new/config.tests/x11/xfreetype.test 2007-10-04 16:09:34.000000000 -0400
@@ -41,7 +41,7 @@
LIBS="Xft2 Xft"
for LIB in $LIBS; do
for LIBDIR in $LIBDIRS; do
- EXTENSIONS="a so sl"
+ EXTENSIONS="a so sl dylib"
for E in $EXTENSIONS; do
if [ -f "$LIBDIR/lib$LIB.$E" ]; then
F="$LIB"
--- qt-x11-free-3.3.8/configure 2007-01-15 07:41:50.000000000 -0500
+++ qt-x11-free-3.3.8-new/configure 2007-10-04 16:09:34.000000000 -0400
@@ -36,7 +36,7 @@

# need that throughout the script
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_RELEASE=`(uname -r | cut -d. -f1) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown

@@ -554,9 +554,9 @@
QMAKE_PROJECTS="$QMAKE_PROJECTS $relpath/$VAL"
else
if [ -d $relpath/$VAL ]; then
- QMAKE_PROJECTS="$QMAKE_PROJECTS `find $relpath/$VAL -name '*.pro' -print`"
+ QMAKE_PROJECTS="$QMAKE_PROJECTS `find $relpath/$VAL -name '*.pro' -print | grep -v /examples/ | grep -v /tutorial/`"
else
- QMAKE_PROJECTS="$QMAKE_PROJECTS `find $relpath/. -name '*.pro' -print`"
+ QMAKE_PROJECTS="$QMAKE_PROJECTS `find $relpath/. -name '*.pro' -print | grep -v /examples/ | grep -v /tutorial/`"
fi
fi
;;
@@ -1051,8 +1051,8 @@
[ -z "$QT_INSTALL_DATA" ] && QT_INSTALL_DATA=$QT_INSTALL_PREFIX
# default PREFIX/translations
[ -z "$QT_INSTALL_TRANSLATIONS" ] && QT_INSTALL_TRANSLATIONS=$QT_INSTALL_PREFIX/translations
-# default PREFIX/etc/settings
-[ -z "$QT_INSTALL_SYSCONF" ] && QT_INSTALL_SYSCONF=$QT_INSTALL_PREFIX/etc/settings
+# default PREFIX/etc/qt
+[ -z "$QT_INSTALL_SYSCONF" ] && QT_INSTALL_SYSCONF=$QT_INSTALL_PREFIX/etc/qt

# generate qconfig.cpp
[ -d $outpath/src/tools ] || mkdir -p $outpath/src/tools
@@ -3087,7 +3087,7 @@
COMPILER_VERSION="3.*"
;;
*4.*)
- COMPILER_VERSION="4"
+ COMPILER_VERSION="4.*"
;;
*)
;;
@@ -3525,7 +3525,7 @@

echo "Finding project files. Please wait..."
if [ -z "$QMAKE_PROJECTS" ]; then
- QMAKE_PROJECTS=`find $relpath/. -name '*.pro' -print | sed 's-/\./-/-'`
+ QMAKE_PROJECTS=`find $relpath/. -name '*.pro' -print | grep -v /examples/ | grep -v /tutorial/ | sed 's-/\./-/-'`
else
QT_PROJECTS=
for a in `echo $QMAKE_PROJECTS`; do
--- qt-x11-free-3.3.8/include/qglobal.h 2007-02-02 09:01:04.000000000 -0500
+++ qt-x11-free-3.3.8-new/include/qglobal.h 2007-10-04 16:09:34.000000000 -0400
@@ -44,6 +44,10 @@
*/
#define QT_VERSION 0x030308

+#ifndef __DARWIN_X11__
+#define __DARWIN_X11__
+#endif
+
/*
The operating system, must be one of: (Q_OS_x)

@@ -562,6 +566,8 @@

#if defined(Q_OS_MAC9)
# define Q_WS_MAC9
+#elif defined(__DARWIN_X11__)
+# define Q_WS_X11
#elif defined(Q_OS_MSDOS)
# define Q_WS_WIN16
# error "Qt requires Win32 and does not work with Windows 3.x"
@@ -882,6 +888,10 @@
# define Q_TEMPLATE_EXTERN
# undef Q_DISABLE_COPY /* avoid unresolved externals */
# endif
+#elif defined(Q_CC_GNU) && __GNUC__ - 0 >= 4
+# define Q_EXPORT __attribute__((visibility("default")))
+# undef QT_MAKEDLL /* ignore these for other platforms */
+# undef QT_DLL
#else
# undef QT_MAKEDLL /* ignore these for other platforms */
# undef QT_DLL
--- qt-x11-free-3.3.8/mkspecs/darwin-g++/qmake.conf 2007-02-02 09:01:44.000000000 -0500
+++ qt-x11-free-3.3.8-new/mkspecs/darwin-g++/qmake.conf 2007-10-04 16:09:55.000000000 -0400
@@ -9,10 +9,10 @@
MAKEFILE_GENERATOR = UNIX
TEMPLATE = app
CONFIG += qt warn_on release native_precompiled_headers
-CONFIG += qt warn_on release link_prl
+CONFIG += qt warn_on release link_prl lib_version_first
DEFINES += __DARWIN_X11__

-QMAKE_CC = cc
+QMAKE_CC = gcc-4.0
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
QMAKE_YACC = yacc
@@ -21,7 +21,7 @@
QMAKE_CFLAGS_DEPS = -M
QMAKE_CFLAGS_WARN_ON = -Wall -W
QMAKE_CFLAGS_WARN_OFF = -w
-QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_RELEASE = -Os
QMAKE_CFLAGS_DEBUG = -g
QMAKE_CFLAGS_SHLIB = -fPIC
QMAKE_EXTENSION_SHLIB = dylib
@@ -29,7 +29,7 @@
QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
QMAKE_CFLAGS_THREAD =

-QMAKE_CXX = c++
+QMAKE_CXX = g++-4.0
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
@@ -40,8 +40,8 @@
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_THREAD =

-QMAKE_INCDIR = /usr/local/include
-QMAKE_LIBDIR =
+QMAKE_INCDIR = @PREFIX@/lib/qt3/include
+QMAKE_LIBDIR = @PREFIX@/lib
QMAKE_INCDIR_X11 = /usr/X11R6/include
QMAKE_LIBDIR_X11 = /usr/X11R6/lib
QMAKE_INCDIR_QT = $(QTDIR)/include
@@ -49,13 +49,13 @@
QMAKE_INCDIR_OPENGL = /usr/X11R6/include
QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib

-QMAKE_LINK = c++
-QMAKE_LINK_SHLIB = c++
-QMAKE_LFLAGS =
+QMAKE_LINK = g++-4.0
+QMAKE_LINK_SHLIB = g++-4.0
+QMAKE_LFLAGS = -Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
QMAKE_LFLAGS_RELEASE =
QMAKE_LFLAGS_DEBUG =
QMAKE_LFLAGS_APP = -prebind
-QMAKE_LFLAGS_SHLIB = -prebind -dynamiclib -single_module -headerpad_max_install_names
+QMAKE_LFLAGS_SHLIB = -prebind -dynamiclib -single_module -headerpad_max_install_names -install_name @PREFIX@/lib/$(TARGET1)
QMAKE_LFLAGS_PLUGIN = -bundle
QMAKE_LFLAGS_THREAD =

@@ -64,7 +64,7 @@

QMAKE_RPATH =

-QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_DYNLOAD = -ldl
QMAKE_LIBS_X11 = -lXext -lX11 -lm
QMAKE_LIBS_X11SM = -lSM -lICE
QMAKE_LIBS_QT = -lqt
@@ -76,17 +76,17 @@
QMAKE_MOC = $(QTDIR)/bin/moc
QMAKE_UIC = $(QTDIR)/bin/uic

-QMAKE_AR = ar cq
-QMAKE_RANLIB = ranlib -s
+QMAKE_AR = /usr/bin/ar cq
+QMAKE_RANLIB = /usr/bin/ranlib -s

QMAKE_TAR = tar -cf
QMAKE_GZIP = gzip -9f

-QMAKE_COPY = cp -f
+QMAKE_COPY = /bin/cp -f
QMAKE_COPY_FILE = $$QMAKE_COPY
QMAKE_COPY_DIR = $$QMAKE_COPY -r
-QMAKE_MOVE = mv -f
-QMAKE_DEL_FILE = rm -f
-QMAKE_DEL_DIR = rmdir
-QMAKE_CHK_DIR_EXISTS = test -d
-QMAKE_MKDIR = mkdir -p
+QMAKE_MOVE = /bin/mv -f
+QMAKE_DEL_FILE = /bin/rm -f
+QMAKE_DEL_DIR = /bin/rmdir
+QMAKE_CHK_DIR_EXISTS = /bin/test -d
+QMAKE_MKDIR = /bin/mkdir -p
--- qt-x11-free-3.3.8/mkspecs/darwin-g++/qplatformdefs.h 2003-05-27 11:19:20.000000000 -0400
+++ qt-x11-free-3.3.8-new/mkspecs/darwin-g++/qplatformdefs.h 2007-10-04 16:09:34.000000000 -0400
@@ -74,12 +74,13 @@
#define QT_SIGNAL_ARGS int
#define QT_SIGNAL_IGNORE SIG_IGN

-#define QT_SOCKLEN_T int
+#define QT_SOCKLEN_T socklen_t

#define QT_SNPRINTF ::snprintf
#define QT_VSNPRINTF ::vsnprintf

#define QT_AOUT_UNDERSCORE

+#define QT_MITSHM

#endif // QPLATFORMDEFS_H
--- qt-x11-free-3.3.8/qmake/Makefile.unix 2006-02-28 05:32:54.000000000 -0500
+++ qt-x11-free-3.3.8-new/qmake/Makefile.unix 2007-10-04 16:09:34.000000000 -0400
@@ -36,8 +36,8 @@
-I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac \
-I@BUILD_PATH@/include/qmake -I@BUILD_PATH@/include -I@SOURCE_PATH@/include \
-DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL \
- -DQT_NO_COMPRESS -I@QMAKESPEC@ -DHAVE_QCONFIG_CPP
-LFLAGS=@QMAKE_LFLAGS@
+ -DQT_NO_COMPRESS -I@QMAKESPEC@ -DHAVE_QCONFIG_CPP -mdynamic-no-pic
+LFLAGS=@QMAKE_LFLAGS@ -mdynamic-no-pic

qmake: $(OBJS) $(QOBJS)
$(CXX) -o $@ $(OBJS) $(QOBJS) $(LFLAGS)
--- qt-x11-free-3.3.8/qmake/main.cpp 2007-02-02 09:01:27.000000000 -0500
+++ qt-x11-free-3.3.8-new/qmake/main.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -49,7 +49,7 @@

// for Borland, main is defined to qMain which breaks qmake
#undef main
-#ifdef Q_OS_MAC
+#if defined(Q_OS_MAC) || defined(Q_OS_DARWIN)
// for qurl
bool qt_resolve_symlinks = FALSE;
#endif
--- qt-x11-free-3.3.8/src/kernel/qprocess_unix.cpp 2007-02-02 09:01:11.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/kernel/qprocess_unix.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -761,7 +761,7 @@
#endif
i++;
}
-#ifdef Q_OS_MACX
+#if defined(Q_OS_MACX) || defined(Q_OS_DARWIN)
if(i) {
QCString arg_bundle = arglistQ[0];
QFileInfo fi(arg_bundle);
@@ -826,7 +826,7 @@
} else { // start process with environment settins as specified in env
// construct the environment for exec
int numEntries = env->count();
-#if defined(Q_OS_MACX)
+#if defined(Q_OS_MACX) || defined(Q_OS_DARWIN)
QString ld_library_path("DYLD_LIBRARY_PATH");
#else
QString ld_library_path("LD_LIBRARY_PATH");
@@ -858,7 +858,7 @@
QStringList pathList = QStringList::split( ':', getenv( "PATH" ) );
for (QStringList::Iterator it = pathList.begin(); it != pathList.end(); ++it ) {
QString dir = *it;
-#if defined(Q_OS_MACX) //look in a bundle
+#if defined(Q_OS_MACX) || defined(Q_OS_DARWIN) //look in a bundle
if(!QFile::exists(dir + "/" + command) && QFile::exists(dir + "/" + command + ".app"))
dir += "/" + command + ".app/Contents/MacOS";
#endif
@@ -868,7 +868,7 @@
QFileInfo fileInfo( dir + "/" + command );
#endif
if ( fileInfo.isExecutable() ) {
-#if defined(Q_OS_MACX)
+#if defined(Q_OS_MACX) || defined(Q_OS_DARWIN)
arglistQ[0] = fileInfo.absFilePath().local8Bit();
#else
arglistQ[0] = fileInfo.filePath().local8Bit();
--- qt-x11-free-3.3.8/src/moc/moc.pro 2003-10-31 09:36:28.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/moc/moc.pro 2007-10-04 16:09:34.000000000 -0400
@@ -48,6 +48,8 @@
unix:SOURCES += ../tools/qfile_unix.cpp ../tools/qdir_unix.cpp ../tools/qfileinfo_unix.cpp
win32:SOURCES += ../tools/qfile_win.cpp ../tools/qdir_win.cpp ../tools/qfileinfo_win.cpp
macx:LIBS += -framework Carbon
+CFLAGS += -mdynamic-no-pic
+CXXFLAGS += -mdynamic-no-pic

target.path=$$bins.path
INSTALLS += target
--- qt-x11-free-3.3.8/src/network/qdns.cpp 2007-02-02 09:01:09.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/network/qdns.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -76,7 +76,7 @@
#include "qcleanuphandler.h"
#include
#ifdef Q_OS_MAC
-#include "../3rdparty/dlcompat/dlfcn.h"
+#include
#endif

//#define QDNS_DEBUG
--- qt-x11-free-3.3.8/src/qt_professional.pri 2004-02-06 07:08:19.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/qt_professional.pri 2007-10-04 16:09:34.000000000 -0400
@@ -25,7 +25,6 @@
unix {
NETWORK_H = $$NETWORK_CPP
}
- mac:INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/dlcompat
INCLUDEPATH += $$QT_SOURCE_TREE/src/network
include( $$QT_SOURCE_TREE/src/network/qt_network.pri )
DEFINES *= QT_MODULE_NETWORK
--- qt-x11-free-3.3.8/src/qtmain.pro 2003-10-31 09:36:28.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/qtmain.pro 2007-10-04 16:09:34.000000000 -0400
@@ -2,6 +2,7 @@
TEMPLATE = lib
TARGET = qtmain
VERSION = 3.1.0
+COMPATIBILITY_VERSION = 3.0.0
DESTDIR = $$QMAKE_LIBDIR_QT

CONFIG += qt staticlib warn_on release
--- qt-x11-free-3.3.8/src/sql/qdatatable.cpp 2007-01-11 08:46:33.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/sql/qdatatable.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -1043,8 +1043,8 @@
return FALSE;
if ( !sqlCursor()->canInsert() ) {
#ifdef QT_CHECK_RANGE
- qWarning("QDataTable::insertCurrent: insert not allowed for " +
- sqlCursor()->name() );
+ qWarning("QDataTable::insertCurrent: insert not allowed for %s",
+ sqlCursor()->name().latin1() );
#endif
endInsert();
return FALSE;
@@ -1117,16 +1117,16 @@
return FALSE;
if ( sqlCursor()->primaryIndex().count() == 0 ) {
#ifdef QT_CHECK_RANGE
- qWarning("QDataTable::updateCurrent: no primary index for " +
- sqlCursor()->name() );
+ qWarning("QDataTable::updateCurrent: no primary index for %s",
+ sqlCursor()->name().latin1() );
#endif
endUpdate();
return FALSE;
}
if ( !sqlCursor()->canUpdate() ) {
#ifdef QT_CHECK_RANGE
- qWarning("QDataTable::updateCurrent: updates not allowed for " +
- sqlCursor()->name() );
+ qWarning("QDataTable::updateCurrent: updates not allowed for %s",
+ sqlCursor()->name().latin1() );
#endif
endUpdate();
return FALSE;
@@ -1191,8 +1191,8 @@
return FALSE;
if ( sqlCursor()->primaryIndex().count() == 0 ) {
#ifdef QT_CHECK_RANGE
- qWarning("QDataTable::deleteCurrent: no primary index " +
- sqlCursor()->name() );
+ qWarning("QDataTable::deleteCurrent: no primary index %s",
+ sqlCursor()->name().latin1() );
#endif
return FALSE;
}
--- qt-x11-free-3.3.8/src/sql/qsqldatabase.cpp 2007-01-11 10:03:02.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/sql/qsqldatabase.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -234,7 +234,8 @@
db->open();
#ifdef QT_CHECK_RANGE
if ( !db->isOpen() )
- qWarning("QSqlDatabaseManager::database: unable to open database: " + db->lastError().databaseText() + ": " + db->lastError().driverText() );
+ qWarning("QSqlDatabaseManager::database: unable to open database: %s: %s",
+ db->lastError().databaseText().latin1(), db->lastError().driverText().latin1() );
#endif
}
return db;
@@ -686,7 +687,7 @@
if ( !d->driver ) {
#ifdef QT_CHECK_RANGE
qWarning( "QSqlDatabase: %s driver not loaded", type.latin1() );
- qWarning( "QSqlDatabase: available drivers: " + drivers().join(" ") );
+ qWarning( "QSqlDatabase: available drivers: %s", drivers().join(" ").latin1() );
#endif
d->driver = new QNullDriver();
d->driver->setLastError( QSqlError( "Driver not loaded", "Driver not loaded" ) );
--- qt-x11-free-3.3.8/src/sql/qsqlindex.cpp 2007-01-11 08:46:35.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/sql/qsqlindex.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -273,7 +273,7 @@
if ( field )
newSort.append( *field, desc );
else
- qWarning( "QSqlIndex::fromStringList: unknown field: '" + f + "'" );
+ qWarning( "QSqlIndex::fromStringList: unknown field: '%s'", f.latin1());
}
return newSort;
}
--- qt-x11-free-3.3.8/src/sql/qsqlrecord.cpp 2007-01-11 08:46:35.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/sql/qsqlrecord.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -298,7 +298,7 @@
return i;
}
#ifdef QT_CHECK_RANGE
- qWarning( "QSqlRecord::position: unable to find field " + name );
+ qWarning( "QSqlRecord::position: unable to find field %s", name.latin1() );
#endif
return -1;
}
@@ -313,7 +313,7 @@
checkDetach();
if ( !sh->d->contains( i ) ) {
#ifdef QT_CHECK_RANGE
- qWarning( "QSqlRecord::field: index out of range: " + QString::number( i ) );
+ qWarning( "QSqlRecord::field: index out of range: %d", i );
#endif
return 0;
}
@@ -344,7 +344,7 @@
{
if ( !sh->d->contains( i ) ) {
#ifdef QT_CHECK_RANGE
- qWarning( "QSqlRecord::field: index out of range: " + QString::number( i ) );
+ qWarning( "QSqlRecord::field: index out of range: %d", i );
#endif // QT_CHECK_RANGE
return 0;
}
--- qt-x11-free-3.3.8/src/tools/qdir_unix.cpp 2007-02-02 09:01:05.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qdir_unix.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -88,7 +88,7 @@

bool QDir::mkdir( const QString &dirName, bool acceptAbsPath ) const
{
-#if defined(Q_OS_MACX) // Mac X doesn't support trailing /'s
+#if defined(Q_OS_MACX) || defined(Q_OS_DARWIN) // Mac X doesn't support trailing /'s
QString name = dirName;
if (dirName[dirName.length() - 1] == "/")
name = dirName.left( dirName.length() - 1 );
--- qt-x11-free-3.3.8/src/tools/qglobal.cpp 2007-02-02 09:01:06.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qglobal.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -161,7 +161,7 @@
return TRUE;
}

-#if !defined(QWS) && defined(Q_OS_MAC)
+#if !defined(QWS) && !defined(Q_WS_X11) && defined(Q_OS_MACX)

#include "qt_mac.h"

@@ -680,7 +680,7 @@
if ( code != -1 )
qWarning( "%s\n\tError code %d - %s", msg, code, strerror( code ) );
else
- qWarning( msg );
+ qWarning( "%s", msg );
#endif
#else
Q_UNUSED( msg );
--- qt-x11-free-3.3.8/src/tools/qglobal.h 2007-02-02 09:01:04.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qglobal.h 2007-10-04 16:09:34.000000000 -0400
@@ -44,6 +44,10 @@
*/
#define QT_VERSION 0x030308

+#ifndef __DARWIN_X11__
+#define __DARWIN_X11__
+#endif
+
/*
The operating system, must be one of: (Q_OS_x)

@@ -562,6 +566,8 @@

#if defined(Q_OS_MAC9)
# define Q_WS_MAC9
+#elif defined(__DARWIN_X11__)
+# define Q_WS_X11
#elif defined(Q_OS_MSDOS)
# define Q_WS_WIN16
# error "Qt requires Win32 and does not work with Windows 3.x"
@@ -882,6 +888,10 @@
# define Q_TEMPLATE_EXTERN
# undef Q_DISABLE_COPY /* avoid unresolved externals */
# endif
+#elif defined(Q_CC_GNU) && __GNUC__ - 0 >= 4
+# define Q_EXPORT __attribute__((visibility("default")))
+# undef QT_MAKEDLL /* ignore these for other platforms */
+# undef QT_DLL
#else
# undef QT_MAKEDLL /* ignore these for other platforms */
# undef QT_DLL
--- qt-x11-free-3.3.8/src/tools/qgpluginmanager.cpp 2007-02-02 09:01:04.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qgpluginmanager.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -316,7 +316,7 @@

#if defined(Q_OS_WIN32)
QString filter = "*.dll";
-#elif defined(Q_OS_MACX)
+#elif defined(Q_OS_MACX) || defined(Q_OS_DARWIN)
QString filter = "*.dylib; *.so; *.bundle";
#elif defined(Q_OS_HPUX)
QString filter = "*.sl";
--- qt-x11-free-3.3.8/src/tools/qlibrary.cpp 2007-02-02 09:01:04.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qlibrary.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -400,7 +400,7 @@
filename += ".dll";
#else
QStringList filters = "";
-#ifdef Q_OS_MACX
+#if defined(Q_OS_MACX) || defined(Q_OS_DARWIN)
filters << ".so";
filters << ".bundle";
filters << ".dylib"; //the last one is also the default one..
--- qt-x11-free-3.3.8/src/tools/qlibrary_unix.cpp 2007-02-02 09:01:06.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qlibrary_unix.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -114,7 +114,7 @@

QString filename = library->library();

- pHnd = DL_PREFIX(dlopen)( filename.latin1(), RTLD_LAZY );
+ pHnd = DL_PREFIX(dlopen)( filename.latin1(), RTLD_LAZY | RTLD_LOCAL );
#if defined(QT_DEBUG) || defined(QT_DEBUG_COMPONENT)
if ( !pHnd )
qWarning( "%s", DL_PREFIX(dlerror)() );
--- qt-x11-free-3.3.8/src/tools/qmutex_unix.cpp 2007-02-02 09:01:04.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qmutex_unix.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -44,7 +44,7 @@
// POSIX threads mutex types
#if ((defined(PTHREAD_MUTEX_RECURSIVE) && defined(PTHREAD_MUTEX_DEFAULT)) || \
defined(Q_OS_FREEBSD)) && !defined(Q_OS_UNIXWARE) && !defined(Q_OS_SOLARIS) && \
- !defined(Q_OS_MAC)
+ !defined(Q_OS_MAC) && !defined(Q_OS_DARWIN)
// POSIX 1003.1c-1995 - We love this OS
# define Q_MUTEX_SET_TYPE(a, b) pthread_mutexattr_settype((a), (b))
# if defined(QT_CHECK_RANGE)
--- qt-x11-free-3.3.8/src/tools/qsettings.cpp 2007-02-02 09:01:03.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qsettings.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -981,7 +981,7 @@

if ( filename.isEmpty() ) {

-#ifdef QT_CHECK_STATE
+#if 0 // this error is damn annoying
qWarning("QSettings::sync: filename is null/empty");
#endif // QT_CHECK_STATE

--- qt-x11-free-3.3.8/src/tools/qstring.cpp 2007-02-02 09:01:05.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qstring.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -1362,7 +1362,7 @@
QStringData* QString::makeSharedNull()
{
QString::shared_null = new QStringData;
-#if defined( Q_OS_MAC ) || defined(Q_OS_SOLARIS) || defined(Q_OS_HPUX) || defined(Q_OS_AIX)
+#if defined( Q_OS_MAC ) || defined(Q_OS_DARWIN) || defined(Q_OS_SOLARIS) || defined(Q_OS_HPUX) || defined(Q_OS_AIX)
QString *that = const_cast(&QString::null);
that->d = QString::shared_null;
#endif
@@ -2923,7 +2923,7 @@
if (!l)
return -1;

-#if defined(Q_OS_MACX) && defined(QT_MACOSX_VERSION) && QT_MACOSX_VERSION >= 0x1020
+#if defined(Q_OS_MACX) && ((defined(QT_MACOSX_VERSION) && QT_MACOSX_VERSION >= 0x1020) | defined(Q_OS_DARWIN))
if ( sl == 1 )
return find( *str.unicode(), index, cs );
#endif
@@ -3022,7 +3022,7 @@

int QString::findRev( QChar c, int index, bool cs ) const
{
-#if defined(Q_OS_MACX) && defined(QT_MACOSX_VERSION) && QT_MACOSX_VERSION < 0x1020
+#if defined(Q_OS_MACX) && ((defined(QT_MACOSX_VERSION) && QT_MACOSX_VERSION >= 0x1020) | defined(Q_OS_DARWIN))
return findRev( QString( c ), index, cs );
#else
const uint l = length();
@@ -3078,7 +3078,7 @@
if ( index > delta )
index = delta;

-#if defined(Q_OS_MACX) && defined(QT_MACOSX_VERSION) && QT_MACOSX_VERSION >= 0x1020
+#if defined(Q_OS_MACX) && ((defined(QT_MACOSX_VERSION) && QT_MACOSX_VERSION >= 0x1020) | defined(Q_OS_DARWIN))
if ( sl == 1 )
return findRev( *str.unicode(), index, cs );
#endif
--- qt-x11-free-3.3.8/src/tools/qt_tools.pri 2004-04-01 05:20:06.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qt_tools.pri 2007-10-04 16:09:34.000000000 -0400
@@ -101,10 +101,6 @@
$$TOOLS_CPP/qwaitcondition_unix.cpp

mac:!x11:!embedded:SOURCES += $$TOOLS_CPP/qsettings_mac.cpp
- mac {
- SOURCES+=3rdparty/dlcompat/dlfcn.c
- INCLUDEPATH+=3rdparty/dlcompat
- }
unix:SOURCES += $$TOOLS_CPP/qlibrary_unix.cpp

SOURCES += $$TOOLS_CPP/qbitarray.cpp \
--- qt-x11-free-3.3.8/src/widgets/qtextedit.cpp 2007-02-02 09:01:23.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/widgets/qtextedit.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -6349,7 +6349,7 @@
cur = tag->prev;
if ( !cur ) {
#ifdef QT_CHECK_RANGE
- qWarning( "QTextEdit::optimParseTags: no left-tag for '<" + tag->tag + ">' in line %d.", tag->line + 1 );
+ qWarning( "QTextEdit::optimParseTags: no left-tag for '<%s>' in line %d.", tag->tag.ascii(), tag->line + 1 );
#endif
return; // something is wrong - give up
}
@@ -6372,7 +6372,7 @@
break;
} else if ( !cur->leftTag ) {
#ifdef QT_CHECK_RANGE
- qWarning( "QTextEdit::optimParseTags: mismatching %s-tag for '<" + cur->tag + ">' in line %d.", cur->tag[0] == '/' ? "left" : "right", cur->line + 1 );
+ qWarning( "QTextEdit::optimParseTags: mismatching %s-tag for '<%s>' in line %d.", cur->tag[0] == '/' ? "left" : "right", cur->tag.ascii(), cur->line + 1 );
#endif
return; // something is amiss - give up
}
--- qt-x11-free-3.3.8/src/xml/qsvgdevice.cpp 2007-02-02 09:01:03.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/xml/qsvgdevice.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -978,7 +978,7 @@
// ### catch references to embedded .svg files
QPixmap pix;
if ( !pix.load( href ) ) {
- qWarning( "QSvgDevice::play: Couldn't load image "+href );
+ qWarning( "QSvgDevice::play: Couldn't load image %s", href.latin1() );
break;
}
pt->drawPixmap( QRect( x1, y1, w, h ), pix );
@@ -1024,8 +1024,8 @@
break;
}
case InvalidElement:
- qWarning( "QSvgDevice::play: unknown element type " +
- node.nodeName() );
+ qWarning( "QSvgDevice::play: unknown element type %s",
+ node.nodeName().latin1() );
break;
};

@@ -1111,7 +1111,7 @@
{
QRegExp reg( QString::fromLatin1("([+-]?\\d*\\.*\\d*[Ee]?[+-]?\\d*)(em|ex|px|%|pt|pc|cm|mm|in|)$") );
if ( reg.search( str ) == -1 ) {
- qWarning( "QSvgDevice::parseLen: couldn't parse " + str );
+ qWarning( "QSvgDevice::parseLen: couldn't parse %s ", str.latin1() );
if ( ok )
*ok = FALSE;
return 0.0;
@@ -1140,7 +1140,7 @@
else if ( u == "pc" )
dbl *= m.logicalDpiX() / 6.0;
else
- qWarning( "QSvgDevice::parseLen: Unknown unit " + u );
+ qWarning( "QSvgDevice::parseLen: Unknown unit %s", u.latin1() );
}
if ( ok )
*ok = TRUE;
--- qt-x11-free-3.3.8/tools/assistant/assistant.pro 2003-11-17 07:40:25.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/assistant/assistant.pro 2007-10-04 16:09:34.000000000 -0400
@@ -32,6 +32,8 @@

win32:RC_FILE = assistant.rc
mac:RC_FILE = assistant.icns
+CFLAGS += -mdynamic-no-pic
+CXXFLAGS += -mdynamic-no-pic

target.path = $$bins.path
INSTALLS += target
--- qt-x11-free-3.3.8/tools/designer/app/app.pro 2004-01-16 19:51:08.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/designer/app/app.pro 2007-10-04 16:09:34.000000000 -0400
@@ -20,7 +20,8 @@
QMAKE_INFO_PLIST = Info_mac.plist
staticlib:CONFIG -= global_init_link_order #yuck
}
-
+CFLAGS += -mdynamic-no-pic
+CXXFLAGS += -mdynamic-no-pic

target.path=$$bins.path
INSTALLS += target
--- qt-x11-free-3.3.8/tools/designer/designer/designer.pro 2006-02-15 10:48:20.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/designer/designer/designer.pro 2007-10-04 16:09:34.000000000 -0400
@@ -1,6 +1,6 @@
TEMPLATE = lib

-CONFIG += qt warn_on staticlib qmake_cache
+CONFIG += qt warn_on qmake_cache
CONFIG -= dll
!force_static:!win32:contains(QT_PRODUCT,qt-internal) {
CONFIG -= staticlib
--- qt-x11-free-3.3.8/tools/designer/editor/editor.pro 2003-10-31 09:36:28.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/designer/editor/editor.pro 2007-10-04 16:09:34.000000000 -0400
@@ -1,5 +1,5 @@
TEMPLATE = lib
-CONFIG += qt warn_on staticlib
+CONFIG += qt warn_on
CONFIG -= dll
HEADERS = editor.h \
parenmatcher.h \
--- qt-x11-free-3.3.8/tools/designer/uic/uic.pro 2003-10-31 09:36:28.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/designer/uic/uic.pro 2007-10-04 16:09:34.000000000 -0400
@@ -40,3 +40,6 @@
LIBS += $$MWERKSDIR/Libraries/PluginLib4.shlb
SOURCES += mwerks_mac.cpp
}
+CFLAGS += -mdynamic-no-pic
+CXXFLAGS += -mdynamic-no-pic
+
--- qt-x11-free-3.3.8/tools/linguist/linguist/linguist.pro 2003-10-31 09:36:28.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/linguist/linguist/linguist.pro 2007-10-04 16:09:34.000000000 -0400
@@ -43,6 +43,8 @@
staticlib:CONFIG -= global_init_link_order #yuck
RC_FILE = linguist.icns
}
+CFLAGS += -mdynamic-no-pic
+CXXFLAGS += -mdynamic-no-pic

PROJECTNAME = Qt Linguist

--- qt-x11-free-3.3.8/tools/linguist/linguist.pro 2004-06-08 04:06:56.000000000 -0400
+++ qt-x11-free-3.3.8-new/tools/linguist/linguist.pro 2007-10-04 16:09:34.000000000 -0400
@@ -1,8 +1,5 @@
TEMPLATE = subdirs
SUBDIRS = linguist \
- tutorial/tt1 \
- tutorial/tt2 \
- tutorial/tt3 \
lrelease \
lupdate \
qm2ts
--- qt-x11-free-3.3.8/tools/linguist/lrelease/lrelease.pro 2003-10-31 09:36:28.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/linguist/lrelease/lrelease.pro 2007-10-04 16:09:34.000000000 -0400
@@ -15,3 +15,6 @@

target.path=$$bins.path
INSTALLS += target
+
+QMAKE_CFLAGS += -mdynamic-no-pic
+QMAKE_CXXFLAGS += -mdynamic-no-pic
--- qt-x11-free-3.3.8/tools/linguist/lupdate/lupdate.pro 2003-10-31 09:36:28.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/linguist/lupdate/lupdate.pro 2007-10-04 16:09:34.000000000 -0400
@@ -19,3 +19,7 @@

target.path=$$bins.path
INSTALLS += target
+
+macx:CFLAGS += -mdynamic-no-pic
+macx:CXXFLAGS += -mdynamic-no-pic
+
--- qt-x11-free-3.3.8/tools/linguist/qm2ts/qm2ts.pro 2003-10-31 09:36:28.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/linguist/qm2ts/qm2ts.pro 2007-10-04 16:09:34.000000000 -0400
@@ -13,3 +13,6 @@

target.path=$$bins.path
INSTALLS += target
+
+CFLAGS += -mdynamic-no-pic
+CXXFLAGS += -mdynamic-no-pic
--- qt-x11-free-3.3.8/tools/qtconfig/qtconfig.pro 2005-07-19 20:59:24.000000000 -0400
+++ qt-x11-free-3.3.8-new/tools/qtconfig/qtconfig.pro 2007-10-04 16:09:34.000000000 -0400
@@ -15,4 +15,7 @@
INSTALLS += target
INCLUDEPATH += .
DBFILE = qtconfig.db
+
+CFLAGS += -mdynamic-no-pic
+CXXFLAGS += -mdynamic-no-pic
REQUIRES=full-config nocrosscompiler !win32*

qt3 _unstable_ port information

Package: qt3
Version: 3.3.8
Revision: 1028
# NB: 3.3.8-1027 did exist for a while
Description: Cross-Platform GUI application framework
License: GPL
Maintainer: Benjamin Reed

Depends: <<
%N-shlibs (= %v-%r),
%N-designer (= %v-%r),
%N-linguist (= %v-%r),
%N-doc (= %v-%r),
pkgconfig,
macosx (>= 10.4.3-1)
<<
BuildDepends: <<
cctools (>= 446-0) | cctools-single-module,
cups-dev,
fink (>= 0.26.0-1),
freetype219,
libgl-dev,
libpng3 (>= 1.2.8-1),
libjpeg,
macosx (>= 10.4.3-1),
pkgconfig,
x11-dev
<<
BuildConflicts: autogen-dev
Provides: %N-bin
Conflicts: <<
qt,
qt2,
%N-dev
<<
Replaces: <<
qt,
qt2,
%N-doc,
%N-bin,
%N-dev,
%N-designer
<<
Suggests: <<
libpng3,
libjpeg,
%N-mysql (>= %v-1),
%N-postgresql (>= %v-1)
<<
BuildDependsOnly: true
GCC: 4.0

CustomMirror: <<
Primary: ftp://ftp.trolltech.com/qt/source
aus-AU: http://public.ftp.planetmirror.com.au/pub/trolltech/qt/source
eur-DE: ftp://ftp.fu-berlin.de/unix/X11/gui/Qt/source
eur-DE: http://wftp.tu-chemnitz.de/pub/Qt/source
eur-ES: http://sunsite.rediris.es/mirror/Qt/source
eur-GR: http://ftp.ntua.gr/pub/X11/Qt/qt/source
eur-NO: ftp://ftp.trolltech.com/qt/source
eur-RO: http://ftp.iasi.roedu.net/mirrors/ftp.trolltech.com/qt/sources
nam-US: http://ftp.silug.org/mirrors/ftp.trolltech.com/qt/source
<<
Source: mirror:custom:qt-x11-free-%v.tar.bz2
Source-MD5: cf3c43a7dfde5bfb76f8001102fe6e85
Source2: http://ranger.befunk.com/fink/qt-upstream-patches-0004.tar.bz2
Source2-MD5: 1f27d5222813a0a29fe53fd8669e2239
Source2ExtractDir: qt-x11-free-%v
SourceDirectory: qt-x11-free-%v
PatchScript: <<
#!/bin/sh -ex
sed -e 's|@PREFIX@|%p|g' <%a/%n.patch | patch -p1
perl -pi -e 's|cp \-P|/bin/cp \-RL|' qmake/Makefile.unix

for patch in \
patches/qt-3.3.4-print-CJK.patch \
patches/qt-3.0.5-nodebug.patch \
patches/qt-x11-free-3.3.2-quiet.patch \
patches/qt-uic-nostdlib.patch \
patches/qt-x11-free-3.3.5-uic.patch \
patches/qt-x11-free-3.3.4-qfontdatabase_x11.patch \
patches/qt-3.3.3-gtkstyle.patch \
patches/qt-x11-free-3.3.4-fullscreen.patch \
; do
echo "patching with $patch"
patch -p1 --fuzz=4 < $patch
done

for patch in \
patches/0001-dnd_optimization.patch \
patches/0002-dnd_active_window_fix.patch \
patches/0005-qpixmap_mitshm.patch \
patches/0007-qpixmap_constants.patch \
patches/0015-qiconview-finditem.patch \
patches/0016-qiconview-rebuildcontainer.patch \
patches/0017-qiconview-ctrl_rubber.patch \
patches/0020-designer-deletetabs.patch \
patches/0032-fix_rotated_randr.diff \
patches/0035-qvaluelist-streaming-operator.patch \
patches/0036-qprogressbar-optimization.patch \
patches/0038-dragobject-dont-prefer-unknown.patch \
patches/0044-qscrollview-windowactivate-fix.diff \
patches/0046-qiconview-no-useless-scrollbar.diff \
patches/0047-fix-kmenu-width.diff \
patches/0048-qclipboard_hack_80072.patch \
patches/0049-qiconview-rubber_on_move.diff \
patches/0056-khotkeys_input_84434.patch \
patches/0059-qpopup_has_mouse.patch \
patches/0060-qpopup_ignore_mousepos.patch \
patches/0061-qscrollview-propagate-horizontal-wheelevent.patch \
patches/0073-xinerama-aware-qpopup.patch \
patches/0076-fix-qprocess.diff \
patches/0077-utf8-decoder-fixes.diff \
; do
echo "patching with $patch"
patch -p0 --fuzz=4 < $patch
done
<<

NoSetLDFLAGS: true
CompileScript: <<
#!/bin/sh -ex

CURRENTVERSION=`dpkg -p qt3 | grep '^Version:' | cut -d' ' -f2-`
DOREMOVE=0
for BADUPGRADE in 3.2.1-1 3.2.1-11 3.2.1-12; do
if [ "$CURRENTVERSION" = "$BADUPGRADE" ]; then
DOREMOVE=1
fi
done

for file in `ls -1 /lib/ 2>/dev/null | grep -E '(qt-mt|qt3)' | grep -v '.bad$'`; do
echo "WARNING: found suspicious file or directory \"$file\" -- moving to \"${file}.bad\""
/bin/mv "/lib/${file}" "/lib/${file}.bad"
done

if [ "$DOREMOVE" = "1" ]; then
echo "You have a version of qt3 installed that contains a bug that makes it impossible"
echo "to build this package. I am going to remove qt3 not to allow the upgrade to"
echo "happen. It should get re-installed as needed when the upgrade completes."
echo ""
echo -e "removing qt3... \c"
if dpkg -r --force-depends qt3 >/tmp/dpkg.output 2>&1; then
echo "done"
else
echo "failed!"
echo ""
echo "I was unable to remove the old qt3, this will probably cause problems building"
echo "this package. Please remove qt3 and then retry this build."
echo ""
echo "---( dpkg output )---"
cat /tmp/dpkg.output
fi
fi

unset QMAKESPEC
export QTDIR=`pwd`
export DYLD_LIBRARY_PATH="$QTDIR/lib:$QTDIR/plugins/designer:$QTDIR/plugins/imageformats"
export PATH="$QTDIR/bin:%p/lib/freetype219/bin:$PATH"
export INSTALL_ROOT=""
if [ -f /usr/lib/libresolv.dylib ]; then
LIBRESOLV="-lresolv"
perl -pi -e 's,#define QT_AOUT_UNDERSCORE,,' mkspecs/darwin-g++/qplatformdefs.h
else
LIBRESOLV=""
fi
# we have to force header/lib ordering or things get really wiggy
# looks ugly, but it's better than patching the source

# TODO: also, can't change the -buildkey until the next major OS release, unless
# I want to break binary-compat. Wish I'd noticed it before it made it into
# the wild. Lookin' forward to 10.5! :)

echo "yes" | ./configure $DEFINES \
'-I$(QTDIR)/include' '-L$(QTDIR)/lib' \
'-I%p/lib/freetype219/include' '-I%p/lib/freetype219/include/freetype2' '-L%p/lib/freetype219/lib' \
'-I%p/include' '-L%p/lib' \
'-I/usr/X11R6/include' '-L/usr/X11R6/lib' \
$LIBRESOLV -buildkey qt3-jaguar \
-platform darwin-g++ -xplatform darwin-g++ \
-prefix '%p/lib/qt3' -docdir '%p/share/doc/%n' \
-headerdir '%p/include/qt' -libdir '%p/lib' \
-release -shared -no-exceptions -thread -cups -stl \
-qt-gif -plugin-imgfmt-png -plugin-imgfmt-jpeg -plugin-imgfmt-mng \
-system-libpng -system-libjpeg -system-zlib -largefile \
-sm -xinerama -xrender -xft -xkb \
-plugin-sql-sqlite -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql

# don't link against older versions of self
/usr/bin/find . -name Makefile -print0 | xargs -0 perl -pi -e 's,-L%p/lib/%n/lib,,g'
# attempt to counterfix qmake's warped fileFixify logic that makes install break
# when %p is a symlink and something exists already at -libdir or -datadir etc
# second, better attempt at unfixifying %p:
pushd %p; FixifiedSW=`/bin/pwd -P`; popd
/usr/bin/find . -name Makefile -print0 | xargs -0 perl -pi -e "s,\\$\\(INSTALL_ROOT\\)$FixifiedSW,\\$\\(INSTALL_ROOT\\)%p,g"

make
<<

InstallScript: <<
#!/bin/sh -ex

#### MAIN INSTALL ####

unset QMAKESPEC
export QTDIR=`pwd`
export DYLD_LIBRARY_PATH="$QTDIR/lib:$QTDIR/plugins/designer:$QTDIR/plugins/imageformats"
export PATH="$QTDIR/bin:$PATH"

make -j1 install INSTALL_ROOT="%d"

#### COMPATIBILITY WITH OLD QT3 PACKAGES ####

# set up symlinks for compatibility with some old packages

# %p/bin
install -d -m 0755 %i/bin
for file in `cd %i/lib/%N/bin; ls`; do
ln -sf ../lib/%N/bin/$file %i/bin/$file
done

# %p/include/qt
install -d -m 0755 %i/lib/%N/include
/bin/cp -fRL %i/include/qt/* %i/lib/%N/include/

# %p/lib
install -d -m 0755 %i/lib/%N/lib
mv %i/lib/*.* %i/lib/%N/lib/

for file in `cd %i/lib/%N/lib; ls`; do
[ "$file" != "pkgconfig" ] && ln -sf %N/lib/$file %i/lib/$file
done

# clean up some bad data in the .la and .pc files
perl -pi -e "s,^libdir=.*,libdir='%p/lib/%N/lib',; s,-L..QTDIR./lib ,,; s,^includedir=.*,includedir='%p/lib/%N/include'," %i/lib/%N/lib/*.la %i/lib/pkgconfig/*.pc

# %p/lib/%N/doc
ln -sf ../../share/doc/%N %i/lib/%N/doc

# mkspecs bad symlink
rm -rf %i/lib/%N/mkspecs/default
ln -sf darwin-g++ %i/lib/%N/mkspecs/default

#### CLEAN UP FILES ####

# fix the -L$(QTDIR) junk in the .la file
perl -pi -e 's,\$\(QTDIR\),%p/lib/qt3,g' %i/lib/%N/lib/*.la

# remove the .prl files, we don't want them
rm -rf %i/lib{,/%N/lib}/*.prl

#### MAN PAGES ####

install -d -m 0755 %i/share/man/man1
install -d -m 0755 %i/share/man/man3
install -c -m 644 doc/man/man1/* %i/share/man/man1/
install -c -m 644 doc/man/man3/* %i/share/man/man3/

#### TUTORIALS AND EXAMPLES ####

# clean up the makefiles
perl -pi -e "s,^DEPENDPATH.*,,g;s,^REQUIRES.*,,g" `/usr/bin/find examples -name "*.pro"`

install -d -m 0755 %i/share/doc/%N/tutorial
install -d -m 0755 %i/share/doc/%N/examples
/bin/cp -fRL tutorial/* %i/share/doc/%N/tutorial/
/bin/cp -fRL examples/* %i/share/doc/%N/examples/

# kde icon for qt designer
install -d -m 0755 %i/share/applnk/Development
cat >%i/share/applnk/Development/designer.desktop < [Desktop Entry]
BinaryPattern=designer;
Name=Qt Designer
GenericName=Interface Designer
Exec=designer
Icon=designer
InitialPreference=5
MapNotify=true
MimeType=application/x-designer
Terminal=false
Encoding=UTF-8
Type=Application
EOF
cat >%i/share/applnk/Development/linguist.desktop < [Desktop Entry]
BinaryPattern=linguist;
Name=Qt Linguist
GenericName=Translation Editor
Exec=linguist
Icon=linguist
InitialPreference=5
MapNotify=true
Terminal=false
Encoding=UTF-8
Type=Application
EOF

/usr/bin/find %i/share/doc/%n/ -name \*.moc -print0 | xargs -0 rm -rf {} >/dev/null 2>&1 || :
/usr/bin/find %i/share/doc/%n/ -name \*.obj -print0 | xargs -0 rm -rf {} >/dev/null 2>&1 || :
/usr/bin/find %i/share/doc/%n/examples %i/share/doc/%n/tutorial -name Makefile -print0 | xargs -0 rm -rf >/dev/null 2>&1 || :
/usr/bin/find %i/share/doc/%n/ -name \*.pro -print0 | xargs -0 perl -pi -e 's,^(CONFIG\s*.*)$,$1 thread,' >/dev/null 2>&1 || :
/usr/bin/find %i/ -name \*.bak -print0 | xargs -0 rm -rf >/dev/null 2>&1 || :

install -d -m 755 %i/share/doc/installed-packages
touch %i/share/doc/installed-packages/%N
<<
DocFiles: FAQ INSTALL LICENSE* MANIFEST PLATFORMS README* bin/findtr bin/qt20fix bin/qtrename140
SplitOff: <<
Package: %N-shlibs
Depends: <<
fink (>= 0.26.0-1),
freetype219-shlibs,
libgl-shlibs,
libpng3-shlibs (>= 1.2.8-1),
libjpeg-shlibs,
x11-shlibs
<<
Conflicts: <<
qt-shlibs,
qt
<<
Replaces: <<
qt-shlibs,
qt,
qt3
<<
Suggests: <<
%N-designer,
%N-linguist,
%N-doc
<<
RuntimeVars: QTDIR: %p/lib/qt3
Files: <<
lib/libqt-mt.*.dylib
lib/libeditor.*.dylib
lib/libqui.*.dylib
lib/%N/lib/libqt-mt.*.dylib
lib/%N/lib/libeditor.*.dylib
lib/%N/lib/libqui.*.dylib
lib/%N/plugins/imageformats
lib/%N/plugins/sqldrivers
<<
Shlibs: <<
%p/lib/libeditor.1.dylib 1.0.0 %n (>= 3.3.6-2)
%p/lib/libqt-mt.3.dylib 3.3.0 %n (>= 3.3.6-2)
%p/lib/libqui.1.dylib 1.0.0 %n (>= 3.3.6-2)
<<
PostInstScript: <<
(/usr/X11R6/bin/fc-cache -f || :) >/tmp/fc-cache.log 2>&1 || :
if [ -d %p/lib/%N-plugins ] && [ ! -L %p/lib/%N-plugins ]; then
if rsync -arL %p/lib/%N-plugins/ %p/lib/%N/plugins/; then
rm -rf %p/lib/%N-plugins
ln -sf %N/plugins %p/lib/%N-plugins
else
cat < WARNING: I was unable to copy your plugins from the (deprecated)
%p/lib/%N-plugins directory into %p/lib/%N/plugins.

Some Qt applications may not work as expected.
END
fi
fi
<<
<<
SplitOff2: <<
Package: %N-designer
Depends: <<
%N-designer-shlibs (= %v-%r),
x11
<<
Conflicts: qt2
Replaces: <<
%N-bin,
qt2
<<
Files: <<
bin/designer
share/applnk/Development/designer.desktop
lib/%N/bin/designer
lib/%N/templates
<<
<<
SplitOff3: <<
Package: %N-designer-shlibs
Depends: <<
%N-shlibs (= %v-%r),
x11-shlibs
<<
Conflicts: qt2
Replaces: <<
%N-designer,
qt2
<<
Files: <<
lib/libdesignercore.*.dylib
lib/%N/lib/libdesignercore.*.dylib
lib/%N/plugins/designer
<<
Shlibs: %p/lib/libdesignercore.1.dylib 1.0.0 %n (>= 3.3.8-1)
<<
SplitOff4: <<
Package: %N-linguist
Depends: <<
%N-shlibs (= %v-%r),
libjpeg-shlibs,
libpng3-shlibs (>= 1.2.8-1),
x11
<<
Conflicts: qt2
Replaces: <<
%N-bin,
qt2
<<
Files: <<
bin/l*
bin/qm2ts
share/man/man1/lrelease.1
share/man/man1/lupdate.1
share/applnk/Development/linguist.desktop
lib/%N/bin/l*
lib/%N/bin/qm2ts
lib/%N/phrasebooks
<<
<<
SplitOff5: <<
Package: %N-doc
Conflicts: <<
qt-doc,
qt2,
qt
<<
Replaces: <<
qt-doc,
qt2,
qt,
qt3
<<
Files: share/doc/%N lib/%N/doc
<<

PreInstScript: rm -rf %p/lib/%N/mkspecs/default

Homepage: http://www.trolltech.com/
DescPackaging: <<
As of Qt 3.3.6-2, I've moved everything to %p/lib/qt3 instead of %p.
This lets me put the headers back into a "standard" location ($QTDIR/include)
and clean up a lot of stuff. -install_name's are preserved as
%p/lib/libfoo.x.dylib, and symlinks exist to make sure things are still
available to software that expects things in the fink non-standard locations,
so the change should be transparent to existing software.

Also, "make install" actually works again. Yay!
<<

qt3 _unstable_ port .patch


--- qt-x11-free-3.3.8/Makefile 2005-01-03 11:08:00.000000000 -0500
+++ qt-x11-free-3.3.8-new/Makefile 2007-10-04 16:09:34.000000000 -0400
@@ -11,7 +11,7 @@
install: FORCE
@$(MAKE) qt.install

-all: symlinks src-qmake src-moc sub-src sub-tools sub-tutorial sub-examples
+all: symlinks src-qmake src-moc sub-src sub-tools
@echo
@echo "The Qt library is now built in ./lib"
@echo "The Qt examples are built in the directories in ./examples"
--- qt-x11-free-3.3.8/config.tests/x11/xfreetype.test 2004-08-09 16:16:57.000000000 -0400
+++ qt-x11-free-3.3.8-new/config.tests/x11/xfreetype.test 2007-10-04 16:09:34.000000000 -0400
@@ -41,7 +41,7 @@
LIBS="Xft2 Xft"
for LIB in $LIBS; do
for LIBDIR in $LIBDIRS; do
- EXTENSIONS="a so sl"
+ EXTENSIONS="a so sl dylib"
for E in $EXTENSIONS; do
if [ -f "$LIBDIR/lib$LIB.$E" ]; then
F="$LIB"
--- qt-x11-free-3.3.8/configure 2007-01-15 07:41:50.000000000 -0500
+++ qt-x11-free-3.3.8-new/configure 2007-10-04 16:09:34.000000000 -0400
@@ -36,7 +36,7 @@

# need that throughout the script
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_RELEASE=`(uname -r | cut -d. -f1) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown

@@ -554,9 +554,9 @@
QMAKE_PROJECTS="$QMAKE_PROJECTS $relpath/$VAL"
else
if [ -d $relpath/$VAL ]; then
- QMAKE_PROJECTS="$QMAKE_PROJECTS `find $relpath/$VAL -name '*.pro' -print`"
+ QMAKE_PROJECTS="$QMAKE_PROJECTS `find $relpath/$VAL -name '*.pro' -print | grep -v /examples/ | grep -v /tutorial/`"
else
- QMAKE_PROJECTS="$QMAKE_PROJECTS `find $relpath/. -name '*.pro' -print`"
+ QMAKE_PROJECTS="$QMAKE_PROJECTS `find $relpath/. -name '*.pro' -print | grep -v /examples/ | grep -v /tutorial/`"
fi
fi
;;
@@ -1051,8 +1051,8 @@
[ -z "$QT_INSTALL_DATA" ] && QT_INSTALL_DATA=$QT_INSTALL_PREFIX
# default PREFIX/translations
[ -z "$QT_INSTALL_TRANSLATIONS" ] && QT_INSTALL_TRANSLATIONS=$QT_INSTALL_PREFIX/translations
-# default PREFIX/etc/settings
-[ -z "$QT_INSTALL_SYSCONF" ] && QT_INSTALL_SYSCONF=$QT_INSTALL_PREFIX/etc/settings
+# default PREFIX/etc/qt
+[ -z "$QT_INSTALL_SYSCONF" ] && QT_INSTALL_SYSCONF=$QT_INSTALL_PREFIX/etc/qt

# generate qconfig.cpp
[ -d $outpath/src/tools ] || mkdir -p $outpath/src/tools
@@ -3087,7 +3087,7 @@
COMPILER_VERSION="3.*"
;;
*4.*)
- COMPILER_VERSION="4"
+ COMPILER_VERSION="4.*"
;;
*)
;;
@@ -3525,7 +3525,7 @@

echo "Finding project files. Please wait..."
if [ -z "$QMAKE_PROJECTS" ]; then
- QMAKE_PROJECTS=`find $relpath/. -name '*.pro' -print | sed 's-/\./-/-'`
+ QMAKE_PROJECTS=`find $relpath/. -name '*.pro' -print | grep -v /examples/ | grep -v /tutorial/ | sed 's-/\./-/-'`
else
QT_PROJECTS=
for a in `echo $QMAKE_PROJECTS`; do
--- qt-x11-free-3.3.8/include/qglobal.h 2007-02-02 09:01:04.000000000 -0500
+++ qt-x11-free-3.3.8-new/include/qglobal.h 2007-10-04 16:09:34.000000000 -0400
@@ -44,6 +44,10 @@
*/
#define QT_VERSION 0x030308

+#ifndef __DARWIN_X11__
+#define __DARWIN_X11__
+#endif
+
/*
The operating system, must be one of: (Q_OS_x)

@@ -562,6 +566,8 @@

#if defined(Q_OS_MAC9)
# define Q_WS_MAC9
+#elif defined(__DARWIN_X11__)
+# define Q_WS_X11
#elif defined(Q_OS_MSDOS)
# define Q_WS_WIN16
# error "Qt requires Win32 and does not work with Windows 3.x"
@@ -882,6 +888,10 @@
# define Q_TEMPLATE_EXTERN
# undef Q_DISABLE_COPY /* avoid unresolved externals */
# endif
+#elif defined(Q_CC_GNU) && __GNUC__ - 0 >= 4
+# define Q_EXPORT __attribute__((visibility("default")))
+# undef QT_MAKEDLL /* ignore these for other platforms */
+# undef QT_DLL
#else
# undef QT_MAKEDLL /* ignore these for other platforms */
# undef QT_DLL
--- qt-x11-free-3.3.8/mkspecs/darwin-g++/qmake.conf 2007-02-02 09:01:44.000000000 -0500
+++ qt-x11-free-3.3.8-new/mkspecs/darwin-g++/qmake.conf 2007-10-04 16:09:55.000000000 -0400
@@ -9,10 +9,10 @@
MAKEFILE_GENERATOR = UNIX
TEMPLATE = app
CONFIG += qt warn_on release native_precompiled_headers
-CONFIG += qt warn_on release link_prl
+CONFIG += qt warn_on release link_prl lib_version_first
DEFINES += __DARWIN_X11__

-QMAKE_CC = cc
+QMAKE_CC = gcc-4.0
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
QMAKE_YACC = yacc
@@ -21,7 +21,7 @@
QMAKE_CFLAGS_DEPS = -M
QMAKE_CFLAGS_WARN_ON = -Wall -W
QMAKE_CFLAGS_WARN_OFF = -w
-QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_RELEASE = -Os
QMAKE_CFLAGS_DEBUG = -g
QMAKE_CFLAGS_SHLIB = -fPIC
QMAKE_EXTENSION_SHLIB = dylib
@@ -29,7 +29,7 @@
QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
QMAKE_CFLAGS_THREAD =

-QMAKE_CXX = c++
+QMAKE_CXX = g++-4.0
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
@@ -40,8 +40,8 @@
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_THREAD =

-QMAKE_INCDIR = /usr/local/include
-QMAKE_LIBDIR =
+QMAKE_INCDIR = @PREFIX@/lib/qt3/include
+QMAKE_LIBDIR = @PREFIX@/lib
QMAKE_INCDIR_X11 = /usr/X11R6/include
QMAKE_LIBDIR_X11 = /usr/X11R6/lib
QMAKE_INCDIR_QT = $(QTDIR)/include
@@ -49,13 +49,13 @@
QMAKE_INCDIR_OPENGL = /usr/X11R6/include
QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib

-QMAKE_LINK = c++
-QMAKE_LINK_SHLIB = c++
-QMAKE_LFLAGS =
+QMAKE_LINK = g++-4.0
+QMAKE_LINK_SHLIB = g++-4.0
+QMAKE_LFLAGS = -Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
QMAKE_LFLAGS_RELEASE =
QMAKE_LFLAGS_DEBUG =
QMAKE_LFLAGS_APP = -prebind
-QMAKE_LFLAGS_SHLIB = -prebind -dynamiclib -single_module -headerpad_max_install_names
+QMAKE_LFLAGS_SHLIB = -prebind -dynamiclib -single_module -headerpad_max_install_names -install_name @PREFIX@/lib/$(TARGET1)
QMAKE_LFLAGS_PLUGIN = -bundle
QMAKE_LFLAGS_THREAD =

@@ -64,7 +64,7 @@

QMAKE_RPATH =

-QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_DYNLOAD = -ldl
QMAKE_LIBS_X11 = -lXext -lX11 -lm
QMAKE_LIBS_X11SM = -lSM -lICE
QMAKE_LIBS_QT = -lqt
@@ -76,17 +76,17 @@
QMAKE_MOC = $(QTDIR)/bin/moc
QMAKE_UIC = $(QTDIR)/bin/uic

-QMAKE_AR = ar cq
-QMAKE_RANLIB = ranlib -s
+QMAKE_AR = /usr/bin/ar cq
+QMAKE_RANLIB = /usr/bin/ranlib -s

QMAKE_TAR = tar -cf
QMAKE_GZIP = gzip -9f

-QMAKE_COPY = cp -f
+QMAKE_COPY = /bin/cp -f
QMAKE_COPY_FILE = $$QMAKE_COPY
QMAKE_COPY_DIR = $$QMAKE_COPY -r
-QMAKE_MOVE = mv -f
-QMAKE_DEL_FILE = rm -f
-QMAKE_DEL_DIR = rmdir
-QMAKE_CHK_DIR_EXISTS = test -d
-QMAKE_MKDIR = mkdir -p
+QMAKE_MOVE = /bin/mv -f
+QMAKE_DEL_FILE = /bin/rm -f
+QMAKE_DEL_DIR = /bin/rmdir
+QMAKE_CHK_DIR_EXISTS = /bin/test -d
+QMAKE_MKDIR = /bin/mkdir -p
--- qt-x11-free-3.3.8/mkspecs/darwin-g++/qplatformdefs.h 2003-05-27 11:19:20.000000000 -0400
+++ qt-x11-free-3.3.8-new/mkspecs/darwin-g++/qplatformdefs.h 2007-10-04 16:09:34.000000000 -0400
@@ -74,12 +74,13 @@
#define QT_SIGNAL_ARGS int
#define QT_SIGNAL_IGNORE SIG_IGN

-#define QT_SOCKLEN_T int
+#define QT_SOCKLEN_T socklen_t

#define QT_SNPRINTF ::snprintf
#define QT_VSNPRINTF ::vsnprintf

#define QT_AOUT_UNDERSCORE

+#define QT_MITSHM

#endif // QPLATFORMDEFS_H
--- qt-x11-free-3.3.8/qmake/Makefile.unix 2006-02-28 05:32:54.000000000 -0500
+++ qt-x11-free-3.3.8-new/qmake/Makefile.unix 2007-10-04 16:09:34.000000000 -0400
@@ -36,8 +36,8 @@
-I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac \
-I@BUILD_PATH@/include/qmake -I@BUILD_PATH@/include -I@SOURCE_PATH@/include \
-DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL \
- -DQT_NO_COMPRESS -I@QMAKESPEC@ -DHAVE_QCONFIG_CPP
-LFLAGS=@QMAKE_LFLAGS@
+ -DQT_NO_COMPRESS -I@QMAKESPEC@ -DHAVE_QCONFIG_CPP -mdynamic-no-pic
+LFLAGS=@QMAKE_LFLAGS@ -mdynamic-no-pic

qmake: $(OBJS) $(QOBJS)
$(CXX) -o $@ $(OBJS) $(QOBJS) $(LFLAGS)
--- qt-x11-free-3.3.8/qmake/main.cpp 2007-02-02 09:01:27.000000000 -0500
+++ qt-x11-free-3.3.8-new/qmake/main.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -49,7 +49,7 @@

// for Borland, main is defined to qMain which breaks qmake
#undef main
-#ifdef Q_OS_MAC
+#if defined(Q_OS_MAC) || defined(Q_OS_DARWIN)
// for qurl
bool qt_resolve_symlinks = FALSE;
#endif
--- qt-x11-free-3.3.8/src/kernel/qprocess_unix.cpp 2007-02-02 09:01:11.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/kernel/qprocess_unix.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -761,7 +761,7 @@
#endif
i++;
}
-#ifdef Q_OS_MACX
+#if defined(Q_OS_MACX) || defined(Q_OS_DARWIN)
if(i) {
QCString arg_bundle = arglistQ[0];
QFileInfo fi(arg_bundle);
@@ -826,7 +826,7 @@
} else { // start process with environment settins as specified in env
// construct the environment for exec
int numEntries = env->count();
-#if defined(Q_OS_MACX)
+#if defined(Q_OS_MACX) || defined(Q_OS_DARWIN)
QString ld_library_path("DYLD_LIBRARY_PATH");
#else
QString ld_library_path("LD_LIBRARY_PATH");
@@ -858,7 +858,7 @@
QStringList pathList = QStringList::split( ':', getenv( "PATH" ) );
for (QStringList::Iterator it = pathList.begin(); it != pathList.end(); ++it ) {
QString dir = *it;
-#if defined(Q_OS_MACX) //look in a bundle
+#if defined(Q_OS_MACX) || defined(Q_OS_DARWIN) //look in a bundle
if(!QFile::exists(dir + "/" + command) && QFile::exists(dir + "/" + command + ".app"))
dir += "/" + command + ".app/Contents/MacOS";
#endif
@@ -868,7 +868,7 @@
QFileInfo fileInfo( dir + "/" + command );
#endif
if ( fileInfo.isExecutable() ) {
-#if defined(Q_OS_MACX)
+#if defined(Q_OS_MACX) || defined(Q_OS_DARWIN)
arglistQ[0] = fileInfo.absFilePath().local8Bit();
#else
arglistQ[0] = fileInfo.filePath().local8Bit();
--- qt-x11-free-3.3.8/src/moc/moc.pro 2003-10-31 09:36:28.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/moc/moc.pro 2007-10-04 16:09:34.000000000 -0400
@@ -48,6 +48,8 @@
unix:SOURCES += ../tools/qfile_unix.cpp ../tools/qdir_unix.cpp ../tools/qfileinfo_unix.cpp
win32:SOURCES += ../tools/qfile_win.cpp ../tools/qdir_win.cpp ../tools/qfileinfo_win.cpp
macx:LIBS += -framework Carbon
+CFLAGS += -mdynamic-no-pic
+CXXFLAGS += -mdynamic-no-pic

target.path=$$bins.path
INSTALLS += target
--- qt-x11-free-3.3.8/src/network/qdns.cpp 2007-02-02 09:01:09.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/network/qdns.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -76,7 +76,7 @@
#include "qcleanuphandler.h"
#include
#ifdef Q_OS_MAC
-#include "../3rdparty/dlcompat/dlfcn.h"
+#include
#endif

//#define QDNS_DEBUG
--- qt-x11-free-3.3.8/src/qt_professional.pri 2004-02-06 07:08:19.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/qt_professional.pri 2007-10-04 16:09:34.000000000 -0400
@@ -25,7 +25,6 @@
unix {
NETWORK_H = $$NETWORK_CPP
}
- mac:INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/dlcompat
INCLUDEPATH += $$QT_SOURCE_TREE/src/network
include( $$QT_SOURCE_TREE/src/network/qt_network.pri )
DEFINES *= QT_MODULE_NETWORK
--- qt-x11-free-3.3.8/src/qtmain.pro 2003-10-31 09:36:28.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/qtmain.pro 2007-10-04 16:09:34.000000000 -0400
@@ -2,6 +2,7 @@
TEMPLATE = lib
TARGET = qtmain
VERSION = 3.1.0
+COMPATIBILITY_VERSION = 3.0.0
DESTDIR = $$QMAKE_LIBDIR_QT

CONFIG += qt staticlib warn_on release
--- qt-x11-free-3.3.8/src/sql/qdatatable.cpp 2007-01-11 08:46:33.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/sql/qdatatable.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -1043,8 +1043,8 @@
return FALSE;
if ( !sqlCursor()->canInsert() ) {
#ifdef QT_CHECK_RANGE
- qWarning("QDataTable::insertCurrent: insert not allowed for " +
- sqlCursor()->name() );
+ qWarning("QDataTable::insertCurrent: insert not allowed for %s",
+ sqlCursor()->name().latin1() );
#endif
endInsert();
return FALSE;
@@ -1117,16 +1117,16 @@
return FALSE;
if ( sqlCursor()->primaryIndex().count() == 0 ) {
#ifdef QT_CHECK_RANGE
- qWarning("QDataTable::updateCurrent: no primary index for " +
- sqlCursor()->name() );
+ qWarning("QDataTable::updateCurrent: no primary index for %s",
+ sqlCursor()->name().latin1() );
#endif
endUpdate();
return FALSE;
}
if ( !sqlCursor()->canUpdate() ) {
#ifdef QT_CHECK_RANGE
- qWarning("QDataTable::updateCurrent: updates not allowed for " +
- sqlCursor()->name() );
+ qWarning("QDataTable::updateCurrent: updates not allowed for %s",
+ sqlCursor()->name().latin1() );
#endif
endUpdate();
return FALSE;
@@ -1191,8 +1191,8 @@
return FALSE;
if ( sqlCursor()->primaryIndex().count() == 0 ) {
#ifdef QT_CHECK_RANGE
- qWarning("QDataTable::deleteCurrent: no primary index " +
- sqlCursor()->name() );
+ qWarning("QDataTable::deleteCurrent: no primary index %s",
+ sqlCursor()->name().latin1() );
#endif
return FALSE;
}
--- qt-x11-free-3.3.8/src/sql/qsqldatabase.cpp 2007-01-11 10:03:02.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/sql/qsqldatabase.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -234,7 +234,8 @@
db->open();
#ifdef QT_CHECK_RANGE
if ( !db->isOpen() )
- qWarning("QSqlDatabaseManager::database: unable to open database: " + db->lastError().databaseText() + ": " + db->lastError().driverText() );
+ qWarning("QSqlDatabaseManager::database: unable to open database: %s: %s",
+ db->lastError().databaseText().latin1(), db->lastError().driverText().latin1() );
#endif
}
return db;
@@ -686,7 +687,7 @@
if ( !d->driver ) {
#ifdef QT_CHECK_RANGE
qWarning( "QSqlDatabase: %s driver not loaded", type.latin1() );
- qWarning( "QSqlDatabase: available drivers: " + drivers().join(" ") );
+ qWarning( "QSqlDatabase: available drivers: %s", drivers().join(" ").latin1() );
#endif
d->driver = new QNullDriver();
d->driver->setLastError( QSqlError( "Driver not loaded", "Driver not loaded" ) );
--- qt-x11-free-3.3.8/src/sql/qsqlindex.cpp 2007-01-11 08:46:35.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/sql/qsqlindex.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -273,7 +273,7 @@
if ( field )
newSort.append( *field, desc );
else
- qWarning( "QSqlIndex::fromStringList: unknown field: '" + f + "'" );
+ qWarning( "QSqlIndex::fromStringList: unknown field: '%s'", f.latin1());
}
return newSort;
}
--- qt-x11-free-3.3.8/src/sql/qsqlrecord.cpp 2007-01-11 08:46:35.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/sql/qsqlrecord.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -298,7 +298,7 @@
return i;
}
#ifdef QT_CHECK_RANGE
- qWarning( "QSqlRecord::position: unable to find field " + name );
+ qWarning( "QSqlRecord::position: unable to find field %s", name.latin1() );
#endif
return -1;
}
@@ -313,7 +313,7 @@
checkDetach();
if ( !sh->d->contains( i ) ) {
#ifdef QT_CHECK_RANGE
- qWarning( "QSqlRecord::field: index out of range: " + QString::number( i ) );
+ qWarning( "QSqlRecord::field: index out of range: %d", i );
#endif
return 0;
}
@@ -344,7 +344,7 @@
{
if ( !sh->d->contains( i ) ) {
#ifdef QT_CHECK_RANGE
- qWarning( "QSqlRecord::field: index out of range: " + QString::number( i ) );
+ qWarning( "QSqlRecord::field: index out of range: %d", i );
#endif // QT_CHECK_RANGE
return 0;
}
--- qt-x11-free-3.3.8/src/tools/qdir_unix.cpp 2007-02-02 09:01:05.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qdir_unix.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -88,7 +88,7 @@

bool QDir::mkdir( const QString &dirName, bool acceptAbsPath ) const
{
-#if defined(Q_OS_MACX) // Mac X doesn't support trailing /'s
+#if defined(Q_OS_MACX) || defined(Q_OS_DARWIN) // Mac X doesn't support trailing /'s
QString name = dirName;
if (dirName[dirName.length() - 1] == "/")
name = dirName.left( dirName.length() - 1 );
--- qt-x11-free-3.3.8/src/tools/qglobal.cpp 2007-02-02 09:01:06.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qglobal.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -161,7 +161,7 @@
return TRUE;
}

-#if !defined(QWS) && defined(Q_OS_MAC)
+#if !defined(QWS) && !defined(Q_WS_X11) && defined(Q_OS_MACX)

#include "qt_mac.h"

@@ -680,7 +680,7 @@
if ( code != -1 )
qWarning( "%s\n\tError code %d - %s", msg, code, strerror( code ) );
else
- qWarning( msg );
+ qWarning( "%s", msg );
#endif
#else
Q_UNUSED( msg );
--- qt-x11-free-3.3.8/src/tools/qglobal.h 2007-02-02 09:01:04.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qglobal.h 2007-10-04 16:09:34.000000000 -0400
@@ -44,6 +44,10 @@
*/
#define QT_VERSION 0x030308

+#ifndef __DARWIN_X11__
+#define __DARWIN_X11__
+#endif
+
/*
The operating system, must be one of: (Q_OS_x)

@@ -562,6 +566,8 @@

#if defined(Q_OS_MAC9)
# define Q_WS_MAC9
+#elif defined(__DARWIN_X11__)
+# define Q_WS_X11
#elif defined(Q_OS_MSDOS)
# define Q_WS_WIN16
# error "Qt requires Win32 and does not work with Windows 3.x"
@@ -882,6 +888,10 @@
# define Q_TEMPLATE_EXTERN
# undef Q_DISABLE_COPY /* avoid unresolved externals */
# endif
+#elif defined(Q_CC_GNU) && __GNUC__ - 0 >= 4
+# define Q_EXPORT __attribute__((visibility("default")))
+# undef QT_MAKEDLL /* ignore these for other platforms */
+# undef QT_DLL
#else
# undef QT_MAKEDLL /* ignore these for other platforms */
# undef QT_DLL
--- qt-x11-free-3.3.8/src/tools/qgpluginmanager.cpp 2007-02-02 09:01:04.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qgpluginmanager.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -316,7 +316,7 @@

#if defined(Q_OS_WIN32)
QString filter = "*.dll";
-#elif defined(Q_OS_MACX)
+#elif defined(Q_OS_MACX) || defined(Q_OS_DARWIN)
QString filter = "*.dylib; *.so; *.bundle";
#elif defined(Q_OS_HPUX)
QString filter = "*.sl";
--- qt-x11-free-3.3.8/src/tools/qlibrary.cpp 2007-02-02 09:01:04.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qlibrary.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -400,7 +400,7 @@
filename += ".dll";
#else
QStringList filters = "";
-#ifdef Q_OS_MACX
+#if defined(Q_OS_MACX) || defined(Q_OS_DARWIN)
filters << ".so";
filters << ".bundle";
filters << ".dylib"; //the last one is also the default one..
--- qt-x11-free-3.3.8/src/tools/qlibrary_unix.cpp 2007-02-02 09:01:06.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qlibrary_unix.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -114,7 +114,7 @@

QString filename = library->library();

- pHnd = DL_PREFIX(dlopen)( filename.latin1(), RTLD_LAZY );
+ pHnd = DL_PREFIX(dlopen)( filename.latin1(), RTLD_LAZY | RTLD_LOCAL );
#if defined(QT_DEBUG) || defined(QT_DEBUG_COMPONENT)
if ( !pHnd )
qWarning( "%s", DL_PREFIX(dlerror)() );
--- qt-x11-free-3.3.8/src/tools/qmutex_unix.cpp 2007-02-02 09:01:04.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qmutex_unix.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -44,7 +44,7 @@
// POSIX threads mutex types
#if ((defined(PTHREAD_MUTEX_RECURSIVE) && defined(PTHREAD_MUTEX_DEFAULT)) || \
defined(Q_OS_FREEBSD)) && !defined(Q_OS_UNIXWARE) && !defined(Q_OS_SOLARIS) && \
- !defined(Q_OS_MAC)
+ !defined(Q_OS_MAC) && !defined(Q_OS_DARWIN)
// POSIX 1003.1c-1995 - We love this OS
# define Q_MUTEX_SET_TYPE(a, b) pthread_mutexattr_settype((a), (b))
# if defined(QT_CHECK_RANGE)
--- qt-x11-free-3.3.8/src/tools/qsettings.cpp 2007-02-02 09:01:03.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qsettings.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -981,7 +981,7 @@

if ( filename.isEmpty() ) {

-#ifdef QT_CHECK_STATE
+#if 0 // this error is damn annoying
qWarning("QSettings::sync: filename is null/empty");
#endif // QT_CHECK_STATE

--- qt-x11-free-3.3.8/src/tools/qstring.cpp 2007-02-02 09:01:05.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qstring.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -1362,7 +1362,7 @@
QStringData* QString::makeSharedNull()
{
QString::shared_null = new QStringData;
-#if defined( Q_OS_MAC ) || defined(Q_OS_SOLARIS) || defined(Q_OS_HPUX) || defined(Q_OS_AIX)
+#if defined( Q_OS_MAC ) || defined(Q_OS_DARWIN) || defined(Q_OS_SOLARIS) || defined(Q_OS_HPUX) || defined(Q_OS_AIX)
QString *that = const_cast(&QString::null);
that->d = QString::shared_null;
#endif
@@ -2923,7 +2923,7 @@
if (!l)
return -1;

-#if defined(Q_OS_MACX) && defined(QT_MACOSX_VERSION) && QT_MACOSX_VERSION >= 0x1020
+#if defined(Q_OS_MACX) && ((defined(QT_MACOSX_VERSION) && QT_MACOSX_VERSION >= 0x1020) | defined(Q_OS_DARWIN))
if ( sl == 1 )
return find( *str.unicode(), index, cs );
#endif
@@ -3022,7 +3022,7 @@

int QString::findRev( QChar c, int index, bool cs ) const
{
-#if defined(Q_OS_MACX) && defined(QT_MACOSX_VERSION) && QT_MACOSX_VERSION < 0x1020
+#if defined(Q_OS_MACX) && ((defined(QT_MACOSX_VERSION) && QT_MACOSX_VERSION >= 0x1020) | defined(Q_OS_DARWIN))
return findRev( QString( c ), index, cs );
#else
const uint l = length();
@@ -3078,7 +3078,7 @@
if ( index > delta )
index = delta;

-#if defined(Q_OS_MACX) && defined(QT_MACOSX_VERSION) && QT_MACOSX_VERSION >= 0x1020
+#if defined(Q_OS_MACX) && ((defined(QT_MACOSX_VERSION) && QT_MACOSX_VERSION >= 0x1020) | defined(Q_OS_DARWIN))
if ( sl == 1 )
return findRev( *str.unicode(), index, cs );
#endif
--- qt-x11-free-3.3.8/src/tools/qt_tools.pri 2004-04-01 05:20:06.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/tools/qt_tools.pri 2007-10-04 16:09:34.000000000 -0400
@@ -101,10 +101,6 @@
$$TOOLS_CPP/qwaitcondition_unix.cpp

mac:!x11:!embedded:SOURCES += $$TOOLS_CPP/qsettings_mac.cpp
- mac {
- SOURCES+=3rdparty/dlcompat/dlfcn.c
- INCLUDEPATH+=3rdparty/dlcompat
- }
unix:SOURCES += $$TOOLS_CPP/qlibrary_unix.cpp

SOURCES += $$TOOLS_CPP/qbitarray.cpp \
--- qt-x11-free-3.3.8/src/widgets/qtextedit.cpp 2007-02-02 09:01:23.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/widgets/qtextedit.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -6349,7 +6349,7 @@
cur = tag->prev;
if ( !cur ) {
#ifdef QT_CHECK_RANGE
- qWarning( "QTextEdit::optimParseTags: no left-tag for '<" + tag->tag + ">' in line %d.", tag->line + 1 );
+ qWarning( "QTextEdit::optimParseTags: no left-tag for '<%s>' in line %d.", tag->tag.ascii(), tag->line + 1 );
#endif
return; // something is wrong - give up
}
@@ -6372,7 +6372,7 @@
break;
} else if ( !cur->leftTag ) {
#ifdef QT_CHECK_RANGE
- qWarning( "QTextEdit::optimParseTags: mismatching %s-tag for '<" + cur->tag + ">' in line %d.", cur->tag[0] == '/' ? "left" : "right", cur->line + 1 );
+ qWarning( "QTextEdit::optimParseTags: mismatching %s-tag for '<%s>' in line %d.", cur->tag[0] == '/' ? "left" : "right", cur->tag.ascii(), cur->line + 1 );
#endif
return; // something is amiss - give up
}
--- qt-x11-free-3.3.8/src/xml/qsvgdevice.cpp 2007-02-02 09:01:03.000000000 -0500
+++ qt-x11-free-3.3.8-new/src/xml/qsvgdevice.cpp 2007-10-04 16:09:34.000000000 -0400
@@ -978,7 +978,7 @@
// ### catch references to embedded .svg files
QPixmap pix;
if ( !pix.load( href ) ) {
- qWarning( "QSvgDevice::play: Couldn't load image "+href );
+ qWarning( "QSvgDevice::play: Couldn't load image %s", href.latin1() );
break;
}
pt->drawPixmap( QRect( x1, y1, w, h ), pix );
@@ -1024,8 +1024,8 @@
break;
}
case InvalidElement:
- qWarning( "QSvgDevice::play: unknown element type " +
- node.nodeName() );
+ qWarning( "QSvgDevice::play: unknown element type %s",
+ node.nodeName().latin1() );
break;
};

@@ -1111,7 +1111,7 @@
{
QRegExp reg( QString::fromLatin1("([+-]?\\d*\\.*\\d*[Ee]?[+-]?\\d*)(em|ex|px|%|pt|pc|cm|mm|in|)$") );
if ( reg.search( str ) == -1 ) {
- qWarning( "QSvgDevice::parseLen: couldn't parse " + str );
+ qWarning( "QSvgDevice::parseLen: couldn't parse %s ", str.latin1() );
if ( ok )
*ok = FALSE;
return 0.0;
@@ -1140,7 +1140,7 @@
else if ( u == "pc" )
dbl *= m.logicalDpiX() / 6.0;
else
- qWarning( "QSvgDevice::parseLen: Unknown unit " + u );
+ qWarning( "QSvgDevice::parseLen: Unknown unit %s", u.latin1() );
}
if ( ok )
*ok = TRUE;
--- qt-x11-free-3.3.8/tools/assistant/assistant.pro 2003-11-17 07:40:25.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/assistant/assistant.pro 2007-10-04 16:09:34.000000000 -0400
@@ -32,6 +32,8 @@

win32:RC_FILE = assistant.rc
mac:RC_FILE = assistant.icns
+CFLAGS += -mdynamic-no-pic
+CXXFLAGS += -mdynamic-no-pic

target.path = $$bins.path
INSTALLS += target
--- qt-x11-free-3.3.8/tools/designer/app/app.pro 2004-01-16 19:51:08.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/designer/app/app.pro 2007-10-04 16:09:34.000000000 -0400
@@ -20,7 +20,8 @@
QMAKE_INFO_PLIST = Info_mac.plist
staticlib:CONFIG -= global_init_link_order #yuck
}
-
+CFLAGS += -mdynamic-no-pic
+CXXFLAGS += -mdynamic-no-pic

target.path=$$bins.path
INSTALLS += target
--- qt-x11-free-3.3.8/tools/designer/designer/designer.pro 2006-02-15 10:48:20.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/designer/designer/designer.pro 2007-10-04 16:09:34.000000000 -0400
@@ -1,6 +1,6 @@
TEMPLATE = lib

-CONFIG += qt warn_on staticlib qmake_cache
+CONFIG += qt warn_on qmake_cache
CONFIG -= dll
!force_static:!win32:contains(QT_PRODUCT,qt-internal) {
CONFIG -= staticlib
--- qt-x11-free-3.3.8/tools/designer/editor/editor.pro 2003-10-31 09:36:28.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/designer/editor/editor.pro 2007-10-04 16:09:34.000000000 -0400
@@ -1,5 +1,5 @@
TEMPLATE = lib
-CONFIG += qt warn_on staticlib
+CONFIG += qt warn_on
CONFIG -= dll
HEADERS = editor.h \
parenmatcher.h \
--- qt-x11-free-3.3.8/tools/designer/uic/uic.pro 2003-10-31 09:36:28.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/designer/uic/uic.pro 2007-10-04 16:09:34.000000000 -0400
@@ -40,3 +40,6 @@
LIBS += $$MWERKSDIR/Libraries/PluginLib4.shlb
SOURCES += mwerks_mac.cpp
}
+CFLAGS += -mdynamic-no-pic
+CXXFLAGS += -mdynamic-no-pic
+
--- qt-x11-free-3.3.8/tools/linguist/linguist/linguist.pro 2003-10-31 09:36:28.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/linguist/linguist/linguist.pro 2007-10-04 16:09:34.000000000 -0400
@@ -43,6 +43,8 @@
staticlib:CONFIG -= global_init_link_order #yuck
RC_FILE = linguist.icns
}
+CFLAGS += -mdynamic-no-pic
+CXXFLAGS += -mdynamic-no-pic

PROJECTNAME = Qt Linguist

--- qt-x11-free-3.3.8/tools/linguist/linguist.pro 2004-06-08 04:06:56.000000000 -0400
+++ qt-x11-free-3.3.8-new/tools/linguist/linguist.pro 2007-10-04 16:09:34.000000000 -0400
@@ -1,8 +1,5 @@
TEMPLATE = subdirs
SUBDIRS = linguist \
- tutorial/tt1 \
- tutorial/tt2 \
- tutorial/tt3 \
lrelease \
lupdate \
qm2ts
--- qt-x11-free-3.3.8/tools/linguist/lrelease/lrelease.pro 2003-10-31 09:36:28.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/linguist/lrelease/lrelease.pro 2007-10-04 16:09:34.000000000 -0400
@@ -15,3 +15,6 @@

target.path=$$bins.path
INSTALLS += target
+
+QMAKE_CFLAGS += -mdynamic-no-pic
+QMAKE_CXXFLAGS += -mdynamic-no-pic
--- qt-x11-free-3.3.8/tools/linguist/lupdate/lupdate.pro 2003-10-31 09:36:28.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/linguist/lupdate/lupdate.pro 2007-10-04 16:09:34.000000000 -0400
@@ -19,3 +19,7 @@

target.path=$$bins.path
INSTALLS += target
+
+macx:CFLAGS += -mdynamic-no-pic
+macx:CXXFLAGS += -mdynamic-no-pic
+
--- qt-x11-free-3.3.8/tools/linguist/qm2ts/qm2ts.pro 2003-10-31 09:36:28.000000000 -0500
+++ qt-x11-free-3.3.8-new/tools/linguist/qm2ts/qm2ts.pro 2007-10-04 16:09:34.000000000 -0400
@@ -13,3 +13,6 @@

target.path=$$bins.path
INSTALLS += target
+
+CFLAGS += -mdynamic-no-pic
+CXXFLAGS += -mdynamic-no-pic
--- qt-x11-free-3.3.8/tools/qtconfig/qtconfig.pro 2005-07-19 20:59:24.000000000 -0400
+++ qt-x11-free-3.3.8-new/tools/qtconfig/qtconfig.pro 2007-10-04 16:09:34.000000000 -0400
@@ -15,4 +15,7 @@
INSTALLS += target
INCLUDEPATH += .
DBFILE = qtconfig.db
+
+CFLAGS += -mdynamic-no-pic
+CXXFLAGS += -mdynamic-no-pic
REQUIRES=full-config nocrosscompiler !win32*