6 from shutil import copy
8 Import('env install_prefix libraries')
11 taglib_files = glob.glob ('taglib/*.cpp')
12 taglib_files += glob.glob ('taglib/flac/*.cpp')
13 taglib_files += glob.glob ('taglib/mpc/*.cpp')
14 taglib_files += glob.glob ('taglib/mpeg/*.cpp')
15 taglib_files += glob.glob ('taglib/mpeg/id3v1/*.cpp')
16 taglib_files += glob.glob ('taglib/mpeg/id3v2/*.cpp')
17 taglib_files += glob.glob ('taglib/mpeg/id3v2/frames/*.cpp')
18 taglib_files += glob.glob ('taglib/ogg/*.cpp')
19 taglib_files += glob.glob ('taglib/ogg/vorbis/*.cpp')
20 taglib_files += glob.glob ('taglib/ogg/speex/*.cpp')
21 taglib_files += glob.glob ('taglib/ogg/flac/*.cpp')
22 taglib_files += glob.glob ('taglib/trueaudio/*.cpp')
23 taglib_files += glob.glob ('taglib/wavpack/*.cpp')
24 taglib_files += glob.glob ('taglib/ape/*.cpp')
25 taglib_files += glob.glob ('taglib/toolkit/*.cpp')
30 taglib.Append(CCFLAGS = "-DPACKAGE=\\\"" + domain + "\\\"")
32 #taglib.Append(CCFLAGS="-no-undefined")
33 taglib.Append(PACKAGE = domain)
34 taglib.Append(POTFILE = domain + '.pot')
35 taglib.Append (CPPATH= [ '#libs/taglib/taglib',
36 '#libs/taglib/taglib/toolkit',
37 '#libs/taglib/taglib/flac' +
38 '#libs/taglib/taglib/ape',
39 '#libs/taglib/taglib/mpc',
40 '#libs/taglib/taglib/mpeg',
41 '#libs/taglib/taglib/mpeg/id3v1',
42 '#libs/taglib/taglib/mpeg/id3v2',
43 '#libs/taglib/taglib/wavpack',
44 '#libs/taglib/taglib/trueaudio',
45 '#libs/taglib/taglib/ogg'
46 '#libs/taglib/taglib/ogg/vorbis'
47 '#libs/taglib/taglib/ogg/speex'
48 '#libs/taglib/taglib/ogg/flac'
50 CXXFLAGS= [ "-Ilibs/taglib/taglib",
51 "-Ilibs/taglib/taglib/toolkit",
52 "-Ilibs/taglib/taglib/flac",
53 "-Ilibs/taglib/taglib/ape",
54 "-Ilibs/taglib/taglib/mpc",
55 "-Ilibs/taglib/taglib/mpeg",
56 "-Ilibs/taglib/taglib/mpeg/id3v1",
57 "-Ilibs/taglib/taglib/mpeg/id3v2",
58 "-Ilibs/taglib/taglib/wavpack",
59 "-Ilibs/taglib/taglib/trueaudio",
60 "-Ilibs/taglib/taglib/ogg",
61 "-Ilibs/taglib/taglib/ogg/vorbis",
62 "-Ilibs/taglib/taglib/ogg/speex",
63 "-Ilibs/taglib/taglib/ogg/flac"
68 #conf = Configure(taglib)
69 #taglib = conf.finish ()
72 taglib/audioproperties.h
75 taglib/taglib_export.h
77 taglib/ape/apefooter.h
80 taglib/flac/flacfile.h
81 taglib/flac/flacproperties.h
83 taglib/mpc/mpcproperties.h
84 taglib/mpeg/mpegfile.h
85 taglib/mpeg/mpegheader.h
86 taglib/mpeg/mpegproperties.h
87 taglib/mpeg/xingheader.h
90 taglib/ogg/oggpageheader.h
91 taglib/ogg/xiphcomment.h
92 taglib/toolkit/taglib.h
93 taglib/toolkit/tbytevector.h
94 taglib/toolkit/tbytevectorlist.h
95 taglib/toolkit/tdebug.h
96 taglib/toolkit/tfile.h
97 taglib/toolkit/tlist.h
98 taglib/toolkit/tlist.tcc
100 taglib/toolkit/tmap.tcc
101 taglib/toolkit/tstring.h
102 taglib/toolkit/tstringlist.h
103 taglib/toolkit/unicode.h
104 taglib/trueaudio/trueaudiofile.h
105 taglib/trueaudio/trueaudioproperties.h
106 taglib/wavpack/wavpackfile.h
107 taglib/wavpack/wavpackproperties.h
110 libtaglib = taglib.SharedLibrary ('taglib', taglib_files)
113 # the header structure of this library is not very convenient
114 # if you don't want to install the library. headers are distributed
115 # all over the place, making a simple -Ipath flag for the compiler
116 # rather difficult. This hack creates a directory and copies
117 # the headers into it, allowing us to use -I#libs/taglib/headers
120 def headercopy(env, target, source):
121 if os.access (str(target[0]), os.X_OK) != True:
122 os.makedirs (str(target[0]))
124 copy (str(file), str(target[0]))
126 header_dir = taglib.Command ('#libs/taglib/headers/taglib', headers, headercopy)
128 config_h = taglib.Command('config.h', ['config.h.in'], 'cd libs/taglib && ./configure && cd -', ENV=os.environ)
130 Default([config_h,header_dir,libtaglib])
132 env.Alias('install', env.Install(os.path.join(install_prefix, env['LIBDIR'], 'ardour3'), libtaglib))
134 env.Alias('tarball', env.Distribute (env['DISTTREE'],
143 'admin/config.guess',
144 'admin/conf.change.pl',