From e0034dd2437d64e24c3a2179eb4d904d64f3df32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Tue, 31 Mar 2015 14:16:33 +0000 Subject: moved INSTALL.txt to README.txt and (mostly) rewrote it svn path=/trunk/externals/iem/iemmatrix/; revision=17446 --- INSTALL.txt | 65 ------------------------ README.txt | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 161 insertions(+), 65 deletions(-) delete mode 100644 INSTALL.txt create mode 100644 README.txt diff --git a/INSTALL.txt b/INSTALL.txt deleted file mode 100644 index 880eb82..0000000 --- a/INSTALL.txt +++ /dev/null @@ -1,65 +0,0 @@ -Installation/Compilation instructions for "iemmatrix" -===================================================== - - -1) linux (and other autoconf-systems): -====================================== - "cd" into iemmatrix/ - run "./autogen.sh" - run "./configure" (see "./configure --help" for valid options) - run "make" - run "make install" - enjoy. - - this should install iemmatrix into /usr/local/lib/pd (unless you specify otherwise) - the dynamic-lib (iemmatrix.pd_linux) is installed into extra/ - the configure-script tries to detect whether you are running a pd>=0.37; if so, the - help-patches are installed into extra/iemmatrix; if you are running an old version - of pd, the help-files will be installed into doc/5.reference/iemmatrix - - -2) mac OS-X: -============ - there is nothing special in the code, so it should compile out of the - box (for generic instructions, please see "1) linux") - building with a special version of Pd: - to build iemmatrix with your special version of Pd, you should specify the path to your Pd ressources - (e.g. "./configure --with-pd=/Applications/Pd.app/Contents/Resources") - fat-binaries - if you want to build a multi-arch binary you have to specify this as well - (e.g. "./configure --enable-fat-binary=i386,ppc --with-extension=d_fat") - -3) irix: -======== - i don't have any irix machine at hand, so i don't know whether it works - but again, since iemmatrix does not use anything special, it should work out of the box - try using configure in iemmatrix/src - (for further details please see "1) linux") - -4) W32: -======= - with MinGW installed, you probably might be able to use the configure in iemmatrix/src - users have reported that they were able to build it (with problems) - http://lists.puredata.info/pipermail/pd-list/2005-05/028266.html - i will support a makefile for msvc as soon as i boot into windows again - -CrossCompilation for w32 with MinGW-w64 (http://www.mingw.org) on linux-systems - you need a cross-compilation tool-chain for windows (there is a debian-package mingw-w64) - run "./configure" and specify the path to your windows installation of pd - the simplest way is to give the PDPATH via the "--with-pd=PDPATH" flag; you have to make - sure that the pd-sources are in PDPATH/src and the compiled pd-binaries in PDPATH/bin - if those are scattered across you filesystem you can alternatively give explicitely the paths - to your "m_pd.h" (with --includedir) and to your "pd.lib" (with --libdir) - don't forget to override the default extension ("pd_linux" on linux-systems) with the more appropriate "dll". - on bash this looks like: - % ./configure --with-extension=dll --host=i686-w64-mingw32 --with-pd=/path/to/w32-pd/ - now run "make" and enjoy. - - - -5) FreeBSD et al: -================= - i don't know, but why shouldn't it run there ? - try autotools (see "1) linux" for more information) - and report any success or failure - diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..56a066e --- /dev/null +++ b/README.txt @@ -0,0 +1,161 @@ +Installation/Compilation instructions for "iemmatrix" +===================================================== + +iemmatrix uses the *autoconf* build system. +For generic build instructions, please see INSTALL.txt + +Dependencies +============ + +in order to compile iemmatrix, you will need some libraries/applications installed. +Some of these dependencies are optional. +If they are present during compilation, iemmatrix will have certain functionality +enabled, which might be missing otherwise. + + - puredata + http://puredata.info/downloads + make sure you also have the development files (headers) + + - GNU scientific library (aka gsl) [optional] + http://www.gnu.org/software/gsl + needed for higher maths, including eigenvalues and singular-value decomposition + - FFTW (Fast Fourier Transform) [optional] + http://www.fftw.org + fast, high-precision FFTs; if not present, iemmatrix will use Pd's internal FFT + - sndfile (reading/writing audio files) [optional] + http://www.mega-nerd.com/libsndfile/ + for reading soundfiles into matrices (many soundfiles are supported) + + + - autotools, libtool, gettext + thats the basic build-system + + - a compiler, linker,... + tested with + - GCC (the GNU compiler collection) + - Clang + +Building +======== + +Make sure that each step succeeds, before proceeding to the next one! + + $ ./autogen.sh + $ ./configure + $ make + + +./configure will need to find the Pd-headers (and on some platforms the Pd-library). +If these files are in a non-standard location (e.g. on W32 and OSX), +you have to manually tell it where to look for them, using the `--with-pd` flag +and pointing it to the directory that contains the 'bin/' and 'src/' (or 'include/') +folders of your Pd-distribution. + +E.g. + + $ ./configure --with-pd=/Applications/Pd-0.45-4.app/Contents/Resources + +Once `make` has succeeded, you will have a `iemmatrix` binary in the (hidden) +`.libs` folder. + + +Installing +========== + +The ordinary way to install, is by running the following with the proper priviliges +(e.g. as root): + + # make install + +This will install the entire iemmatrix into /usr/local/lib/pd/extra/iemmatrix. + +On systems that have no standard filesystem layout for Pd-externals (e.g. W32 and OSX), +this is not exactly what you want. +Instead, you can use the following to collect all installation data into a single directory: + + $ make install DESTDIR=$(pwd)/ pkglibdir=iemmatrix + +This will create a new directory `iemmatrix` (in your current directory), +containing all binaries and abstractions needed. + +You can then take this directory, and put it into a place, where Pd will look for it: + +E.g. + + - linux: `~/pd-externals` (e.g. `/home/frodo/pd-externals`) + - OSX : `~/Library/Pd` (e.g. `/Users/frodo/Pd`) + - W32 : `%AppData%\Pd` (e.g. `C:\Documents and Settings\frodo\Application Data\Pd`) + +A full list of default search paths for externals, can be found at + https://puredata.info/docs/faq/how-do-i-install-externals-and-help-files/ + + +System-specific instructions +============================ + +linux (Debian-based) +-------------------- + +`iemmatrix` is available as Debian package + + # aptitude install pd-iemmatrix + +To install all dependencies for compiling iemmatrix yourself, use: + + # apt-get build-dep pd-iemmatrix + +or + + # aptitude install automake1.11 autoconf puredata libfftw3-dev libsndfile1-dev libgsl0-dev + + +mac OS-X +-------- + +Most dependencies are available via `brew` + + http://brew.sh + +Install them using + + $ brew install gsl --universal + $ brew install fftw --universal + $ brew install libsndfile --universal + +When running iemmatrix' configure, make sure to specify the path to Pd. +If you want to build universal binaries (e.g. both 32bit (i386) and 64bit (x86_64)), +you can specify the `--enable-fat-binary` flag. +E.g. + + $ ./configure --with-pd=/Applications/Pd-0.45-4.app/Contents/Resources --enable-fat-binary=i386,x86_64 + +Note: when building fat binaries, all dependencies must be fat too. + +Microsoft W32 +------------- + +The only sane way to build iemmatrix for W32 using autotools, +is currently by using `MinGW-w64` as a cross-compilation environment on linux. + +Debian (and derivates) provides packages for this: + + # aptitude install mingw-w64 mingw-w64-i686-dev mingw-w64-tools binutils-mingw-w64 + +Run "./configure" and specify the path to your W32 installation of Pd +(where you unzipped the W32 package of Pd) using the `--with-pd` flag. +Make sure that the Pd-sources are in PDPATH/src and the compiled pd-binaries in PDPATH/bin. +If they are scattered across you filesystem you can alternatively give explicitely the paths +to your "m_pd.h" (with `--includedir`) and to your "pd.lib" (with `--libdir`). +Don't forget to override the default extension ("pd_linux" on linux-systems) +with the more appropriate "dll". +On bash this looks like: + + $ ./configure --with-extension=dll --host=i686-w64-mingw32 --with-pd=/home/frodo/W32/pd-0.46-6 + +Now run "make" and enjoy. + + +W32 using VisualStudio +---------------------- +There are outdated VisualStudio project files in src/ +Use them at your own risk. -- cgit v1.2.1