1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
|
-------------------------------------------------------------------------------
madman administrates digital music archives neatly
-------------------------------------------------------------------------------
[see below for build instructions]
-------------------------------------------------------------------------------
I. Welcome to madman.
-------------------------------------------------------------------------------
madman is a music manager application that allows you to easily keep your
music database organized and tidy, and it helps you listen to better music,
be happier, brighten your teeth and quickly restore world peace.
Hope you enjoy madman
- Andreas <inducer@users.sf.net>
madman's homepage is at http://madman.sf.net.
-------------------------------------------------------------------------------
II. Building and installing
-------------------------------------------------------------------------------
To build madman, you need
- XMMS. [http://www.xmms.org]
Version 1.2.10 and above.
IMPORTANT: Version 1.2.9 causes random crashes. Do not use it.
[Debian package: xmms-dev]
- Qt. [http://www.trolltech.com]
Version 3.2.x tested, others might work, too. (patches welcome)
[Debian pacakge: libqt3-mt-dev, NOT libqt3-dev]
- TagLib [http://developer.kde.org/~wheeler/taglib.html]
Version 1.3 or later.
[Debian package: libtag1-dev]
*** Plain TagLib 1.1 will appear to compile, but give you
relocation errors later on.
- FAAD (optional) (http://www.audiocoding.com)
[Debian package: libfaad2-dev]
First, you need to know that madman does not use the common autoconf/automake
build system that many other projects use, mostly for technical reasons.
That means that building madman is different from just typing "configure;
make; make install".
Here's how it works:
1) GET SCONS
First, you need to have a copy of the SCons build system. If you don't have
it installed already, don't hurry to the web yet. madman comes with a local
version of SCons that you may use.
IF YOU DON'T HAVE SCONS:
Go to the madman source directory and type "./configure".
This will tell you again that you're not building using autoconf and offer
to extract a local version of SCons. Hit Enter and say "y" when it asks
whether to extract a local version of SCons.
IF YOU DO HAVE SCONS ALREADY:
You don't need to do anything in this step. In the following steps, whenever
I say "./scons.py", you should replace that by "scons". So if you're told to
type "./scons.py install", you'd really type "scons install", because your
SCons install is system-wide. Also make sure that you have at least
SCons 0.96.1.
2) CONFIGURE AND BUILD MADMAN
Theoretically, just typing
./scons.py
should build madman, if the build script manages to find all the dependencies
mentioned above, so make sure you have them installed. It does work out of the box
on Debian systems, if the right packages are installed.
In case something doesn't work or you want to install somewhere other than
"/usr/local", which is the default, you'll need to pass some options to
the build script. Typing
./scons.py -h
will tell you what options exist. For example, you may type
./scons.py prefix=/opt/madman qt_directory=/opt/qt3
to install to /opt/madman and have the build process use the Qt library at
/opt/qt3.
The build system will perform a few checks for the needed components and begin
building, which would look something like this:
scons: Reading SConscript files ...
Checking for qt at /usr/share/qt3 (with lib) failed
Checking for qt-mt at /usr/share/qt3 (with lib) ok
Checking for xmms... ok
Checking for glib... ok
Checking for C++ header file taglib.h... yes
Checking for main() in C++ library tag... yes
Checking for C++ header file mp4.h... no
scons: done reading SConscript files.
scons: Building targets ...
Once you get this far, everything *should* build just fine. You just need to wait
for
scons: done building targets.
to show up and the command line to show up again. Once you get this far, you're ready
to install madman.
If you'd like, you can test your madman build by saying
,build/release/main/madman
madman will run just fine from the build directory, it may however be unable to find
its plugins, which have not been installed yet.
3) INSTALLING MADMAN SYSTEM-WIDE
Type
su -c "./scons.py <SAME OPTIONS AS YOU USED ABOVE> install"
to become root and install madman system-wide. It is important that you use the
exact same options as you used above, otherwise SCons may detect a build-significant
change and try to rebuild madman from scratch, which is not what you want.
Once this goes through, madman is installed. Have fun!
Cheat sheet for people used to Autoconf:
./configure --help
BECOMES
./scons.py -h
./configure --prefix=/here/there --with-taglib-include=/usr/local/include
BECOMES
./scons.py prefix=/here/there taglib_include=/usr/local/include
make
IS DONE AUTOMATICALLY upon successful configuration.
make clean
BECOMES
./scons.py -c
Note that SCons does not honor the CC, C_INCLUDE_PATH or other compiler-related
environment variables, in order to assure build environment consistency.
|