1################################################################################
2#
3# mpg123
4#
5################################################################################
6
7MPG123_VERSION = 1.32.3
8MPG123_SOURCE = mpg123-$(MPG123_VERSION).tar.bz2
9MPG123_SITE = https://downloads.sourceforge.net/project/mpg123/mpg123/$(MPG123_VERSION)
10MPG123_INSTALL_STAGING = YES
11MPG123_LICENSE = LGPL-2.1
12MPG123_LICENSE_FILES = COPYING
13MPG123_CPE_ID_VENDOR = mpg123
14MPG123_DEPENDENCIES = host-pkgconf
15
16# mpg123 has some assembly function that is not present in Thumb mode:
17# Error: selected processor does not support `smull r3,ip,r2,r10' in Thumb mode
18# so, we desactivate Thumb mode
19ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y)
20MPG123_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm"
21endif
22
23MPG123_CPU = $(if $(BR2_SOFT_FLOAT),generic_nofpu,generic_fpu)
24
25ifeq ($(BR2_aarch64),y)
26MPG123_CPU = aarch64
27endif
28
29ifeq ($(BR2_arm),y)
30ifeq ($(or $(BR2_ARM_CPU_HAS_NEON),$(BR2_ARM_CPU_HAS_VFPV2)),y)
31MPG123_CPU = arm_fpu
32else
33MPG123_CPU = arm_nofpu
34endif
35endif
36
37ifeq ($(BR2_i386),y)
38MPG123_CPU = x86
39endif
40
41ifeq ($(BR2_powerpc),y)
42ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y)
43MPG123_CPU = altivec
44endif
45ifeq ($(BR2_SOFT_FLOAT),y)
46MPG123_CPU = ppc_nofpu
47endif
48endif # powerpc
49
50ifeq ($(BR2_x86_64),y)
51MPG123_CPU = x86-64
52endif
53
54MPG123_CONF_OPTS += --with-cpu=$(MPG123_CPU)
55
56MPG123_AUDIO = dummy oss
57
58ifeq ($(BR2_PACKAGE_PORTAUDIO),y)
59MPG123_AUDIO += portaudio
60MPG123_CONF_OPTS += --with-default-audio=portaudio
61MPG123_DEPENDENCIES += portaudio
62# configure script does NOT use pkg-config to figure out how to link
63# with portaudio, breaking static linking as portaudio uses pthreads
64MPG123_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs portaudio-2.0`"
65endif
66
67ifeq ($(BR2_PACKAGE_SDL),y)
68MPG123_AUDIO += sdl
69MPG123_CONF_OPTS += --with-default-audio=sdl
70MPG123_DEPENDENCIES += sdl
71endif
72
73ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
74MPG123_AUDIO += alsa
75MPG123_CONF_OPTS += --with-default-audio=alsa
76MPG123_DEPENDENCIES += alsa-lib
77# configure script does NOT use pkg-config to figure out how to link
78# with alsa, breaking static linking as alsa uses pthreads
79MPG123_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs alsa`"
80endif
81
82MPG123_CONF_OPTS += --with-audio=$(subst $(space),$(comma),$(MPG123_AUDIO))
83
84# output modules are loaded with dlopen()
85ifeq ($(BR2_STATIC_LIBS),y)
86MPG123_CONF_OPTS += --disable-modules
87else
88MPG123_CONF_OPTS += --enable-modules
89endif
90
91$(eval $(autotools-package))
92