Mercurial > hg > qm-dsp
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