changeset 261:2e8518f08648

* mingw32 build stuff
author Chris Cannam <c.cannam@qmul.ac.uk>
date Thu, 31 Jan 2008 10:34:29 +0000
parents a6789852abf2
children bbb66c990e06
files build/mingw32/mkspecs/win32-x-g++/qmake.conf build/mingw32/mkspecs/win32-x-g++/qplatformdefs.h build/mingw32/qm-dsp.pro
diffstat 3 files changed, 338 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/build/mingw32/mkspecs/win32-x-g++/qmake.conf	Thu Jan 31 10:34:29 2008 +0000
@@ -0,0 +1,101 @@
+#
+# qmake configuration for win32-g++
+#
+# Written for MinGW
+#
+
+MAKEFILE_GENERATOR	= MINGW
+TEMPLATE		= app
+CONFIG			+= qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target
+QT			+= core gui
+DEFINES			+= UNICODE QT_LARGEFILE_SUPPORT
+QMAKE_COMPILER_DEFINES  += __GNUC__ WIN32
+
+QMAKE_CC		= i586-mingw32msvc-gcc
+QMAKE_LEX		= flex
+QMAKE_LEXFLAGS		= 
+QMAKE_YACC		= byacc
+QMAKE_YACCFLAGS		= -d
+QMAKE_CFLAGS		=
+QMAKE_CFLAGS_DEPS	= -M
+QMAKE_CFLAGS_WARN_ON	= -Wall 
+QMAKE_CFLAGS_WARN_OFF	= -w
+QMAKE_CFLAGS_RELEASE	= -O2
+QMAKE_CFLAGS_DEBUG	= -g
+QMAKE_CFLAGS_YACC	= -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD	= -mthreads
+
+QMAKE_CXX		= i586-mingw32msvc-g++
+QMAKE_CXXFLAGS		= $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS	= $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON	= $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF	= $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE	= $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG	= $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_YACC	= $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD	= $$QMAKE_CFLAGS_THREAD
+QMAKE_CXXFLAGS_RTTI_ON	= -frtti
+QMAKE_CXXFLAGS_RTTI_OFF	= -fno-rtti
+QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions
+QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
+
+QMAKE_INCDIR		= 
+QMAKE_INCDIR_QT		= /home/studio/.wine/fake_windows/Qt/4.3.0/include
+QMAKE_LIBDIR_QT		= /home/studio/.wine/fake_windows/Qt/4.3.0/lib
+
+QMAKE_RUN_CC		= $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
+QMAKE_RUN_CC_IMP	= $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
+QMAKE_RUN_CXX		= $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
+QMAKE_RUN_CXX_IMP	= $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+QMAKE_LINK		= i586-mingw32msvc-g++
+QMAKE_LFLAGS		= -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mwindows
+QMAKE_LFLAGS_RELEASE	= -Wl,-s
+QMAKE_LFLAGS_DEBUG	= 
+QMAKE_LFLAGS_CONSOLE	= -Wl,-subsystem,console
+QMAKE_LFLAGS_WINDOWS	= -Wl,-subsystem,windows
+QMAKE_LFLAGS_DLL        = -shared
+QMAKE_LINK_OBJECT_MAX	= 10
+QMAKE_LINK_OBJECT_SCRIPT= object_script
+
+
+QMAKE_LIBS		=
+QMAKE_LIBS_CORE         = -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32
+#QMAKE_LIBS_CORE         = -lkernel32 -luser32 -luuid -lole32 -ladvapi32 -lws2_32
+QMAKE_LIBS_GUI          = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32
+QMAKE_LIBS_NETWORK      = -lws2_32
+QMAKE_LIBS_OPENGL       = -lopengl32 -lglu32 -lgdi32 -luser32
+QMAKE_LIBS_COMPAT       = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
+QMAKE_LIBS_QT_ENTRY     = -lqtmain
+
+MINGW_IN_SHELL = $$(MINGW_IN_SHELL)
+#isEqual(MINGW_IN_SHELL, 1) {
+	QMAKE_DIR_SEP		= /
+	QMAKE_COPY		= cp
+	QMAKE_COPY_DIR		= cp -r
+	QMAKE_MOVE		= mv
+	QMAKE_DEL_FILE		= rm -f
+	QMAKE_MKDIR		= mkdir -p
+	QMAKE_DEL_DIR		= rm -rf
+#} else {
+#	QMAKE_COPY		= copy /y
+#	QMAKE_COPY_DIR		= xcopy /s /q /y /i
+#	QMAKE_MOVE		= move
+#	QMAKE_DEL_FILE		= del
+#	QMAKE_MKDIR		= mkdir
+#	QMAKE_DEL_DIR		= rmdir
+#}
+QMAKE_MOC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc
+QMAKE_UIC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic
+QMAKE_IDC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc
+
+QMAKE_IDL		= midl
+QMAKE_LIB		= ar -ru
+QMAKE_RC		= i586-mingw32msvc-windres
+
+QMAKE_ZIP		= zip -r -9
+
+QMAKE_STRIP		= strip
+QMAKE_STRIPFLAGS_LIB 	+= --strip-unneeded
+QMAKE_CHK_DIR_EXISTS	= test -d
+load(qt_config)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/build/mingw32/mkspecs/win32-x-g++/qplatformdefs.h	Thu Jan 31 10:34:29 2008 +0000
@@ -0,0 +1,146 @@
+/****************************************************************************
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License version 2.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of
+** this file.  Please review the following information to ensure GNU
+** General Public Licensing requirements will be met:
+** http://www.trolltech.com/products/qt/opensource.html
+**
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://www.trolltech.com/products/qt/licensing.html or contact the
+** sales department at sales@trolltech.com.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+#ifdef UNICODE
+#ifndef _UNICODE
+#define _UNICODE
+#endif
+#endif
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+#include <tchar.h>
+#include <io.h>
+#include <direct.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <sys/stat.h>
+#include <stdlib.h>
+#include <windows.h>
+#include <limits.h>
+
+#if !defined(_WIN32_WINNT) || (_WIN32_WINNT-0 < 0x0500)
+typedef enum {
+    NameUnknown		  = 0, 
+    NameFullyQualifiedDN  = 1, 
+    NameSamCompatible	  = 2, 
+    NameDisplay		  = 3, 
+    NameUniqueId	  = 6, 
+    NameCanonical	  = 7, 
+    NameUserPrincipal	  = 8, 
+    NameCanonicalEx	  = 9, 
+    NameServicePrincipal  = 10, 
+    NameDnsDomain	  = 12
+} EXTENDED_NAME_FORMAT, *PEXTENDED_NAME_FORMAT;
+#endif
+
+#define Q_FS_FAT
+#ifdef QT_LARGEFILE_SUPPORT
+#define QT_STATBUF		struct _stati64		// non-ANSI defs
+#define QT_STATBUF4TSTAT	struct _stati64		// non-ANSI defs
+#define QT_STAT			::_stati64
+#define QT_FSTAT		::_fstati64
+#else
+#define QT_STATBUF		struct _stat		// non-ANSI defs
+#define QT_STATBUF4TSTAT	struct _stat		// non-ANSI defs
+#define QT_STAT			::_stat
+#define QT_FSTAT		::_fstat
+#endif
+#define QT_STAT_REG		_S_IFREG
+#define QT_STAT_DIR		_S_IFDIR
+#define QT_STAT_MASK		_S_IFMT
+#if defined(_S_IFLNK)
+#  define QT_STAT_LNK		_S_IFLNK
+#endif
+#define QT_FILENO		_fileno
+#define QT_OPEN			::_open
+#define QT_CLOSE		::_close
+#ifdef QT_LARGEFILE_SUPPORT
+#define QT_LSEEK		::_lseeki64
+#ifndef UNICODE
+#define QT_TSTAT		::_stati64
+#else
+#define QT_TSTAT		::_wstati64
+#endif
+#else
+#define QT_LSEEK		::_lseek
+#ifndef UNICODE
+#define QT_TSTAT		::_stat
+#else
+#define QT_TSTAT		::_wstat
+#endif
+#endif
+#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_LARGEFILE       0
+#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
+#if defined(O_TEXT)
+# define QT_OPEN_TEXT		_O_TEXT
+# define QT_OPEN_BINARY		_O_BINARY
+#endif
+
+#define QT_FOPEN                ::fopen
+#ifdef QT_LARGEFILE_SUPPORT
+#define QT_FSEEK                ::fseeko64
+#define QT_FTELL                ::ftello64
+#else
+#define QT_FSEEK                ::fseek
+#define QT_FTELL                ::ftell
+#endif
+#define QT_FGETPOS              ::fgetpos
+#define QT_FSETPOS              ::fsetpos
+#define QT_FPOS_T               fpos_t
+#ifdef QT_LARGEFILE_SUPPORT
+#define QT_OFF_T                off64_t
+#else
+#define QT_OFF_T                long
+#endif
+
+#define QT_SIGNAL_ARGS		int
+
+#define QT_VSNPRINTF		::_vsnprintf
+#define QT_SNPRINTF		::_snprintf
+
+# define F_OK	0
+# define X_OK	1
+# define W_OK	2
+# define R_OK	4
+
+
+#endif // QPLATFORMDEFS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/build/mingw32/qm-dsp.pro	Thu Jan 31 10:34:29 2008 +0000
@@ -0,0 +1,91 @@
+
+TEMPLATE = lib
+CONFIG += warn_on staticlib release
+CONFIG -= qt
+OBJECTS_DIR = tmp_obj
+MOC_DIR = tmp_moc
+
+linux-g++:QMAKE_CXXFLAGS_RELEASE += -DNDEBUG -O3 -march=pentium4 -msse -msse2
+QMAKE_CXXFLAGS_RELEASE += -DNDEBUG -O2 -march=pentium3 -msse
+
+#DEPENDPATH += base \
+#              dsp/chromagram \
+#              dsp/keydetection \
+#              dsp/maths \
+#              dsp/onsets \
+#              dsp/phasevocoder \
+#              dsp/rateconversion \
+#              dsp/signalconditioning \
+#              dsp/tempotracking \
+#              dsp/tonal \
+#              dsp/transforms
+INCLUDEPATH += . include
+
+# Input
+HEADERS += base/Pitch.h \
+           base/Window.h \
+           dsp/chromagram/Chromagram.h \
+           dsp/chromagram/ChromaProcess.h \
+           dsp/chromagram/ConstantQ.h \
+           dsp/keydetection/GetKeyMode.h \
+           dsp/mfcc/MFCC.h \
+           dsp/onsets/DetectionFunction.h \
+           dsp/onsets/PeakPicking.h \
+           dsp/phasevocoder/PhaseVocoder.h \
+           dsp/rateconversion/Decimator.h \
+           dsp/rhythm/BeatSpectrum.h \
+           dsp/segmentation/cluster_melt.h \
+           dsp/segmentation/ClusterMeltSegmenter.h \
+           dsp/segmentation/cluster_segmenter.h \
+           dsp/segmentation/SavedFeatureSegmenter.h \
+           dsp/segmentation/Segmenter.h \
+           dsp/segmentation/segment.h \
+           dsp/signalconditioning/DFProcess.h \
+           dsp/signalconditioning/Filter.h \
+           dsp/signalconditioning/FiltFilt.h \
+           dsp/signalconditioning/Framer.h \
+           dsp/tempotracking/TempoTrack.h \
+           dsp/tonal/ChangeDetectionFunction.h \
+           dsp/tonal/TCSgram.h \
+           dsp/tonal/TonalEstimator.h \
+           dsp/transforms/FFT.h \
+           hmm/hmm.h \
+           maths/Correlation.h \
+           maths/CosineDistance.h \
+           maths/Histogram.h \
+           maths/KLDivergence.h \
+           maths/MathAliases.h \
+           maths/MathUtilities.h \
+           maths/Polyfit.h \
+           maths/pca/pca.h
+SOURCES += base/Pitch.cpp \
+           dsp/chromagram/Chromagram.cpp \
+           dsp/chromagram/ChromaProcess.cpp \
+           dsp/chromagram/ConstantQ.cpp \
+           dsp/keydetection/GetKeyMode.cpp \
+           dsp/mfcc/MFCC.cpp \
+           dsp/onsets/DetectionFunction.cpp \
+           dsp/onsets/PeakPicking.cpp \
+           dsp/phasevocoder/PhaseVocoder.cpp \
+           dsp/rateconversion/Decimator.cpp \
+           dsp/rhythm/BeatSpectrum.cpp \
+           dsp/segmentation/cluster_melt.c \
+           dsp/segmentation/ClusterMeltSegmenter.cpp \
+           dsp/segmentation/cluster_segmenter.c \
+           dsp/segmentation/SavedFeatureSegmenter.cpp \
+           dsp/segmentation/Segmenter.cpp \
+           dsp/signalconditioning/DFProcess.cpp \
+           dsp/signalconditioning/Filter.cpp \
+           dsp/signalconditioning/FiltFilt.cpp \
+           dsp/signalconditioning/Framer.cpp \
+           dsp/tempotracking/TempoTrack.cpp \
+           dsp/tonal/ChangeDetectionFunction.cpp \
+           dsp/tonal/TCSgram.cpp \
+           dsp/tonal/TonalEstimator.cpp \
+           dsp/transforms/FFT.cpp \
+           hmm/hmm.c \
+           maths/Correlation.cpp \
+           maths/CosineDistance.cpp \
+           maths/KLDivergence.cpp \
+           maths/MathUtilities.cpp \
+           maths/pca/pca.c