Skip to content

Commit 381b164

Browse files
committed
[tags] Add Makefile and taglib dependency, add taglib to xcode, android, linux and win32 depends
1 parent d748cb5 commit 381b164

File tree

14 files changed

+162
-10
lines changed

14 files changed

+162
-10
lines changed

XBMC.xcodeproj/project.pbxproj

+2
Original file line numberDiff line numberDiff line change
@@ -7785,6 +7785,7 @@
77857785
"-lpython2.6",
77867786
"-L$XBMC_DEPENDS/lib/mysql",
77877787
"-lmysqlclient",
7788+
"-ltag",
77887789
);
77897790
PRODUCT_NAME = XBMC;
77907791
USER_HEADER_SEARCH_PATHS = "$XBMC_DEPENDS/include $XBMC_DEPENDS/include/libcec $XBMC_DEPENDS/include/mysql $XBMC_DEPENDS/include/freetype2 $XBMC_DEPENDS/include/python2.6";
@@ -7907,6 +7908,7 @@
79077908
"-lpython2.6",
79087909
"-L$XBMC_DEPENDS/lib/mysql",
79097910
"-lmysqlclient",
7911+
"-ltag",
79107912
);
79117913
PRODUCT_NAME = XBMC;
79127914
USER_HEADER_SEARCH_PATHS = "$XBMC_DEPENDS/include $XBMC_DEPENDS/include/libcec $XBMC_DEPENDS/include/mysql $XBMC_DEPENDS/include/freetype2 $XBMC_DEPENDS/include/python2.6";

configure.in

+3
Original file line numberDiff line numberDiff line change
@@ -970,6 +970,9 @@ PKG_CHECK_MODULES([SAMPLERATE], [samplerate],
970970
PKG_CHECK_MODULES([FREETYPE2], [freetype2],
971971
[INCLUDES="$INCLUDES $FREETYPE2_CFLAGS"; LIBS="$LIBS $FREETYPE2_LIBS"],
972972
AC_MSG_ERROR($missing_library))
973+
PKG_CHECK_MODULES([TAGLIB], [taglib >= 1.8],
974+
[INCLUDES="$INCLUDES $TAGLIB_CFLAGS"; LIBS="$LIBS $TAGLIB_LIBS"],
975+
AC_MSG_ERROR($missing_library))
973976

974977
if test "$target_platform" = "target_android" ; then
975978
PKG_CHECK_MODULES([ZIP], [libzip],

docs/README.linux

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Build-Depends: autoconf, automake, autopoint, autotools-dev, cmake, curl,
5757
libswscale-dev, libtinyxml-dev, libtool, libudev-dev, libusb-dev, libva-dev,
5858
libvdpau-dev, libvorbis-dev, libxinerama-dev, libxmu-dev, libxrandr-dev,
5959
libxt-dev, libyajl-dev, lsb-release, nasm [!amd64], python-dev,
60-
python-support, unzip, yasm, zip, zlib1g-dev, libcap-dev
60+
python-support, unzip, yasm, zip, zlib1g-dev, libcap-dev, taglib(>= 1.8)
6161

6262
*** For developers and anyone else who compiles frequently it is recommended to
6363
use ccache

docs/README.ubuntu

+6
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,12 @@ In this case you will have to manually compile the latest version.
5858
# make
5959
# sudo make install
6060

61+
We currently need an unreleased version of taglib. We supply a Makefile in
62+
lib/taglib to make it easy to install into /usr/local until taglib makes a release.
63+
64+
# make -C lib/taglib
65+
# sudo make -C lib/taglib install
66+
6167
--------------------------------------------------------------
6268
3.2. Use a single command to get all build dependencies
6369
--------------------------------------------------------------

lib/taglib/Makefile

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# lib name, version
2+
LIBNAME=taglib
3+
VERSION=1.8
4+
SOURCE=$(LIBNAME)-$(VERSION)
5+
ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
6+
TARBALLS_LOCATION=.
7+
BASE_URL=http://mirrors.xbmc.org/build-deps/darwin-libs
8+
RETRIEVE_TOOL=/usr/bin/curl
9+
RETRIEVE_TOOL_FLAGS=-Ls --create-dirs --output $(TARBALLS_LOCATION)/$(ARCHIVE)
10+
ARCHIVE_TOOL=tar
11+
ARCHIVE_TOOL_FLAGS=zxf
12+
13+
SO_NAME=libtaglib.so
14+
15+
all: $(SO_NAME)
16+
17+
$(TARBALLS_LOCATION)/$(ARCHIVE):
18+
$(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
19+
20+
$(SOURCE): $(TARBALLS_LOCATION)/$(ARCHIVE)
21+
rm -rf $(SOURCE)
22+
$(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
23+
echo $(SOURCE) > .gitignore
24+
cd $(SOURCE); rm -rf build; mkdir -p build
25+
cd $(SOURCE)/build; cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_STATIC=1
26+
$(SO_NAME): $(SOURCE)
27+
make -C $(SOURCE)/build
28+
29+
install:
30+
make -C $(SOURCE)/build install
31+
32+
clean:
33+
make -C $(SOURCE)/build clean
34+
rm -f .installed
35+
36+
distclean::
37+
rm -rf $(SOURCE) .installed

project/BuildDependencies/scripts/0_package.list

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ sqlite-3.7.12.1-win32
1010
libnfs-1.3.0-win32
1111
libshairplay-d689c6-win32
1212
libjpeg-turbo-1.2.0-win32
13-
libbluray-0.2.3-win32
13+
libbluray-0.2.3-win32
14+
taglib-1.8beta-win32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
@ECHO OFF
2+
3+
SET LOC_PATH=%CD%
4+
SET FILES=%LOC_PATH%\taglib_d.txt
5+
6+
CALL dlextract.bat taglib %FILES%
7+
8+
cd %TMP_PATH%
9+
10+
del taglib-1.8-win32\readme.txt
11+
xcopy taglib-1.8-win32\* "%XBMC_PATH%\" /E /Q /I /Y
12+
13+
cd %LOC_PATH%
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
; filename source of the file
2+
taglib-1.8-win32.7z http://mirrors.xbmc.org/build-deps/win32/

project/VS2010Express/XBMC.vcxproj

+5-5
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@
124124
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
125125
<OmitFramePointers>true</OmitFramePointers>
126126
<AdditionalIncludeDirectories>..\..\;..\..\xbmc\;..\..\xbmc\cores\dvdplayer;..\..\xbmc\win32;..\..\lib;..\..\lib\ffmpeg;..\..\lib\ffmpeg\include-xbmc-win32;..\..\lib\liblame\include;..\..\lib\libUPnP\Platinum\Source\Devices\MediaRenderer;..\..\lib\libUPnP\Platinum\Source\Devices\MediaConnect;..\..\lib\libUPnP\Platinum\Source\Devices\MediaServer;..\..\lib\libUPnP\Platinum\Source\Platinum;..\..\lib\libUPnP\Platinum\Source\Core;..\..\lib\libUPnP\Neptune\Source\Core;..\..\lib\libUPnP\Neptune\Source\System\Win32;..\..\lib\win32\pcre;..\..\lib\win32;..\..\xbmc\cores\AudioEngine\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
127-
<PreprocessorDefinitions>TARGET_WINDOWS;_WINDOWS;_MSVC;WIN32;NDEBUG;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010300;NOMINMAX;_USE_32BIT_TIME_T;HAS_GL;__STDC_CONSTANT_MACROS;XMD_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
127+
<PreprocessorDefinitions>TARGET_WINDOWS;_WINDOWS;_MSVC;WIN32;NDEBUG;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010300;NOMINMAX;_USE_32BIT_TIME_T;HAS_GL;__STDC_CONSTANT_MACROS;XMD_H;TAGLIB_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
128128
<StringPooling>false</StringPooling>
129129
<MinimalRebuild>false</MinimalRebuild>
130130
<ExceptionHandling>Async</ExceptionHandling>
@@ -169,7 +169,7 @@
169169
<ClCompile>
170170
<Optimization>Disabled</Optimization>
171171
<AdditionalIncludeDirectories>..\..\;..\..\xbmc\;..\..\xbmc\cores\dvdplayer;..\..\xbmc\win32;..\..\lib;..\..\lib\ffmpeg;..\..\lib\ffmpeg\include-xbmc-win32;..\..\lib\liblame\include;..\..\lib\libUPnP\Platinum\Source\Devices\MediaRenderer;..\..\lib\libUPnP\Platinum\Source\Devices\MediaConnect;..\..\lib\libUPnP\Platinum\Source\Devices\MediaServer;..\..\lib\libUPnP\Platinum\Source\Platinum;..\..\lib\libUPnP\Platinum\Source\Core;..\..\lib\libUPnP\Platinum\Source\Extras;..\..\lib\libUPnP\Neptune\Source\Core;..\..\lib\libUPnP\Neptune\Source\System\Win32;..\..\lib\win32\pcre;..\..\lib\win32;..\..\xbmc\cores\AudioEngine\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
172-
<PreprocessorDefinitions>TARGET_WINDOWS;_WINDOWS;_MSVC;WIN32;_DEBUG;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010300;NOMINMAX;_USE_32BIT_TIME_T;HAS_DX;D3D_DEBUG_INFO;__STDC_CONSTANT_MACROS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
172+
<PreprocessorDefinitions>TARGET_WINDOWS;_WINDOWS;_MSVC;WIN32;_DEBUG;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010300;NOMINMAX;_USE_32BIT_TIME_T;HAS_DX;D3D_DEBUG_INFO;__STDC_CONSTANT_MACROS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;TAGLIB_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
173173
<MinimalRebuild>false</MinimalRebuild>
174174
<ExceptionHandling>Async</ExceptionHandling>
175175
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
@@ -260,7 +260,7 @@
260260
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
261261
<OmitFramePointers>true</OmitFramePointers>
262262
<AdditionalIncludeDirectories>..\..\;..\..\xbmc\;..\..\xbmc\cores\dvdplayer;..\..\xbmc\win32;..\..\lib;..\..\lib\ffmpeg;..\..\lib\ffmpeg\include-xbmc-win32;..\..\lib\liblame\include;..\..\lib\libUPnP\Platinum\Source\Devices\MediaRenderer;..\..\lib\libUPnP\Platinum\Source\Devices\MediaConnect;..\..\lib\libUPnP\Platinum\Source\Devices\MediaServer;..\..\lib\libUPnP\Platinum\Source\Platinum;..\..\lib\libUPnP\Platinum\Source\Core;..\..\lib\libUPnP\Platinum\Source\Extras;..\..\lib\libUPnP\Neptune\Source\Core;..\..\lib\libUPnP\Neptune\Source\System\Win32;..\..\lib\win32\pcre;..\..\lib\win32;..\..\xbmc\cores\AudioEngine\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
263-
<PreprocessorDefinitions>TARGET_WINDOWS;_WINDOWS;_MSVC;WIN32;NDEBUG;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010300;NOMINMAX;_USE_32BIT_TIME_T;HAS_DX;__STDC_CONSTANT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
263+
<PreprocessorDefinitions>TARGET_WINDOWS;_WINDOWS;_MSVC;WIN32;NDEBUG;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010300;NOMINMAX;_USE_32BIT_TIME_T;HAS_DX;__STDC_CONSTANT_MACROS;TAGLIB_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
264264
<StringPooling>false</StringPooling>
265265
<MinimalRebuild>false</MinimalRebuild>
266266
<ExceptionHandling>Async</ExceptionHandling>
@@ -304,7 +304,7 @@
304304
<ClCompile>
305305
<Optimization>Disabled</Optimization>
306306
<AdditionalIncludeDirectories>..\..\;..\..\xbmc\;..\..\xbmc\cores\dvdplayer;..\..\xbmc\win32;..\..\lib;..\..\lib\ffmpeg;..\..\lib\ffmpeg\include-xbmc-win32;..\..\lib\liblame\include;..\..\lib\libUPnP\Platinum\Source\Devices\MediaRenderer;..\..\lib\libUPnP\Platinum\Source\Devices\MediaConnect;..\..\lib\libUPnP\Platinum\Source\Devices\MediaServer;..\..\lib\libUPnP\Platinum\Source\Platinum;..\..\lib\libUPnP\Platinum\Source\Core;..\..\lib\libUPnP\Neptune\Source\Core;..\..\lib\libUPnP\Neptune\Source\System\Win32;..\..\lib\win32\pcre;..\..\lib\win32;..\..\xbmc\cores\AudioEngine\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
307-
<PreprocessorDefinitions>TARGET_WINDOWS;_WINDOWS;_MSVC;WIN32;_DEBUG;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010300;NOMINMAX;_USE_32BIT_TIME_T;HAS_GL;__STDC_CONSTANT_MACROS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
307+
<PreprocessorDefinitions>TARGET_WINDOWS;_WINDOWS;_MSVC;WIN32;_DEBUG;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010300;NOMINMAX;_USE_32BIT_TIME_T;HAS_GL;__STDC_CONSTANT_MACROS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;TAGLIB_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
308308
<MinimalRebuild>false</MinimalRebuild>
309309
<ExceptionHandling>Async</ExceptionHandling>
310310
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
@@ -2933,4 +2933,4 @@
29332933
</VisualStudio>
29342934
</ProjectExtensions>
29352935
<Import Project="$(SolutionDir)\$(ProjectFileName).targets.user" Condition="Exists('$(SolutionDir)\$(ProjectFileName).targets.user')" />
2936-
</Project>
2936+
</Project>

tools/android/depends/Makefile.in

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ SUBDIRS = \
1313
python26-native python26 samba alsa-lib libcdio afpfs-ng libshairport \
1414
libplist libcec libbluray boost tinyxml dummy-libxbmc libsdl \
1515
liblzo2-native libjpeg-turbo-native libpng-native tiff-native libsdl_image rpl \
16-
libamplayer libssh
16+
libamplayer libssh taglib
1717

1818
.PHONY: buildtools $(BUILDTOOLS) subdirs $(SUBDIRS) arm
1919

@@ -59,6 +59,7 @@ libpng-native: buildtools
5959
tiff-native: buildtools libjpeg-turbo-native
6060
liblzo2-native: buildtools
6161
libssh: openssl cmake rpl
62+
taglib: cmake
6263

6364

6465
X86OVERRIDES=XBMC_OVERRIDE_HOST=i686-android-linux XBMC_OVERRIDE_TOOLCHAIN=$(XBMC_X86_TOOLCHAIN)

tools/android/depends/taglib/Makefile

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
include ../Makefile.include
2+
DEPS= ../Makefile.include Makefile
3+
4+
LIBNAME=taglib
5+
VERSION=1.8
6+
SOURCE=$(LIBNAME)-$(VERSION)
7+
ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
8+
9+
LIBDYLIB=$(PLATFORM)/build/$(LIBNAME)/libtag.so
10+
all: .installed-$(PLATFORM)
11+
12+
$(TARBALLS_LOCATION)/$(ARCHIVE):
13+
$(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
14+
15+
$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE)
16+
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
17+
$(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
18+
cd $(PLATFORM); rm -rf build; mkdir -p build
19+
cd $(PLATFORM)/build; CC=$(CC) CXX=$(CXX) cmake \
20+
-DCMAKE_C_FLAGS:STRING="$(CPPFLAGS) $(CFLAGS)" \
21+
-DCMAKE_CXX_FLAGS:STRING="$(CPPFLAGS) $(CXXFLAGS)" \
22+
-DCMAKE_INCLUDE_PATH=$(PREFIX)/include \
23+
-DCMAKE_LIBRARY_PATH=$(PREFIX)/lib \
24+
-DCMAKE_INSTALL_NAME_DIR=$(PREFIX)/lib \
25+
-DCMAKE_INSTALL_PREFIX=$(PREFIX) \
26+
-DCMAKE_FIND_ROOT_PATH="$(TOOLCHAIN)/sysroot/usr;$(PREFIX)" ..
27+
28+
$(LIBDYLIB): $(PLATFORM)
29+
$(MAKE) -C $(PLATFORM)/build
30+
touch $@
31+
.installed-$(PLATFORM): $(LIBDYLIB)
32+
$(MAKE) -C $(PLATFORM)/build install
33+
rm -f $(PREFIX)/lib/libtag_c.* $(PREFIX)/lib/libtag.so $(PREFIX)/lib/libtag.so.1
34+
mv -f $(PREFIX)/lib/libtag.so.1.11.0 $(PREFIX)/lib/libxbtag.so
35+
ln -sf $(PREFIX)/lib/libxbtag.so $(PREFIX)/lib/libtag.so
36+
$(RPL) -e "libtag.so.1" "libxbtag.so" $(PREFIX)/lib/libxbtag.so
37+
-$(READELF) --dynamic $(PREFIX)/lib/libxbtag.so | grep ibrary
38+
touch $@
39+
40+
clean:
41+
$(MAKE) -C $(PLATFORM)/build clean
42+
43+
distclean::
44+
rm -rf $(PLATFORM) .installed-$(PLATFORM)

tools/android/packaging/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ OBJS = libcurl.so \
55
libafpclient.so \
66
libshairport.so libplist.so \
77
libxbogg.so libxbvorbis.so libxbvorbisfile.so libxbFLAC.so libxbmpeg2.so \
8-
libxbmpeg2convert.so
8+
libxbmpeg2convert.so libxbtag.so
99

1010
PLATFORM_OBJS =
1111

tools/darwin/depends/Makefile.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ SUBDIRS := \
1414
libgpg-error libgcrypt afpfs-ng \
1515
libplist libshairport libcec tinyxml \
1616
samba python26 distribute distutilscross \
17-
mysqlclient boost \
17+
mysqlclient boost taglib \
1818

1919
ifeq ($(DARWIN), ios)
2020
EXCLUDED = libcec libcrystalhd libGLEW libsdl libsdl_mixer libsdl_image

tools/darwin/depends/taglib/Makefile

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
include ../Makefile.include
2+
include ../config.site.mk
3+
4+
# lib name, version
5+
LIBNAME=taglib
6+
VERSION=1.8
7+
SOURCE=$(LIBNAME)-$(VERSION)
8+
ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
9+
10+
LIBDYLIB=$(SOURCE)/build/src/$(LIBNAME).dylib
11+
12+
all: $(LIBDYLIB) .installed
13+
14+
$(TARBALLS_LOCATION)/$(ARCHIVE):
15+
$(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
16+
17+
$(SOURCE): $(TARBALLS_LOCATION)/$(ARCHIVE)
18+
rm -rf $(SOURCE)
19+
$(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
20+
echo $(SOURCE) > .gitignore
21+
cd $(SOURCE); rm -rf build; mkdir -p build
22+
cd $(SOURCE)/build; CC=$(CC) CXX=$(CXX) cmake \
23+
-DCMAKE_C_FLAGS:STRING="$(CPPFLAGS) $(CFLAGS)" \
24+
-DCMAKE_CXX_FLAGS:STRING="$(CPPFLAGS) $(CXXFLAGS)" \
25+
-DCMAKE_INCLUDE_PATH=$(PREFIX)/include \
26+
-DCMAKE_LIBRARY_PATH=$(PREFIX)/lib \
27+
-DCMAKE_INSTALL_NAME_DIR=$(PREFIX)/lib \
28+
-DCMAKE_INSTALL_PREFIX=$(PREFIX) \
29+
-DCMAKE_FIND_ROOT_PATH=$(platform_sdk_path) ..
30+
31+
$(LIBDYLIB): $(SOURCE)
32+
make -j $(MAKE_JOBS) -C $(SOURCE)/build
33+
34+
.installed:
35+
make -C $(SOURCE)/build install
36+
touch $@
37+
38+
clean:
39+
make -C $(SOURCE)/build clean
40+
rm -f .installed
41+
42+
distclean::
43+
rm -rf $(SOURCE) .installed

0 commit comments

Comments
 (0)