[alsa-devel] [PATCH 5/5] Android: add makefile and config.h

Jaroslav Kysela perex at perex.cz
Fri Mar 15 13:20:50 CET 2019


Dne 15. 03. 19 v 10:17 Chih-Wei Huang napsal(a):
> This is the initial porting of alsa-lib 1.1.8 to Android.
> 
> Signed-off-by: Chih-Wei Huang <cwhuang at linux.org.tw>
> ---
>  android/Android.mk |  55 ++++++++++++
>  android/config.h   | 217 +++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 272 insertions(+)
>  create mode 100644 android/Android.mk
>  create mode 100644 android/config.h
> 
> diff --git a/android/Android.mk b/android/Android.mk
> new file mode 100644
> index 00000000..e12fd3a6
> --- /dev/null
> +++ b/android/Android.mk
> @@ -0,0 +1,55 @@
> +#
> +# Copyright (C) 2019 The Android-x86 Open Source Project
> +#
> +# Licensed under the GNU Lesser General Public License Version 2.1.
> +# You may not use this file except in compliance with the License.
> +# You may obtain a copy of the License at
> +#
> +#      http://www.gnu.org/licenses/lgpl.html
> +#
> +
> +LOCAL_PATH := $(dir $(call my-dir))
> +include $(CLEAR_VARS)
> +
> +LOCAL_MODULE := libasound
> +LOCAL_MODULE_TAGS := optional
> +LOCAL_MODULE_CLASS := SHARED_LIBRARIES
> +
> +intermediates := $(call local-generated-sources-dir)
> +
> +LOCAL_C_INCLUDES := $(LOCAL_PATH)include $(LOCAL_PATH)android
> +LOCAL_EXPORT_C_INCLUDE_DIRS := $(intermediates)
> +
> +LOCAL_CFLAGS := -DPIC \
> +	-Wno-absolute-value -Wno-address-of-packed-member -Wno-missing-braces \
> +	-Wno-pointer-arith -Wno-sign-compare -Wno-unused-function \
> +	-Wno-unused-const-variable -Wno-unused-parameter -Wno-unused-variable \
> +	-finline-limit=300 -finline-functions -fno-inline-functions-called-once
> +
> +# list of files to be excluded
> +EXCLUDE_SRC_FILES := \
> +	src/alisp/alisp_snd.c \
> +	src/compat/hsearch_r.c \
> +	src/control/control_shm.c \
> +	src/pcm/pcm_d%.c \
> +	src/pcm/pcm_ladspa.c \
> +	src/pcm/pcm_shm.c \
> +	src/pcm/scopes/level.c \
> +
> +LOCAL_SRC_FILES := $(filter-out $(EXCLUDE_SRC_FILES),$(call all-c-files-under,src))
> +
> +GEN := $(intermediates)/alsa/asoundlib.h
> +$(GEN): $(LOCAL_PATH)configure.ac $(wildcard $(LOCAL_PATH)include/*.h)
> +	rm -rf $(@D); mkdir -p $(@D); cd $(@D); \
> +	ln -s ../../../../../../../../$(<D)/include/*.h .
> +	cat $(@D)/asoundlib-head.h > $@; \
> +	sed -n "/.*\(#include <[ae].*.h>\).*/s//\1/p" $< >> $@; \
> +	cat $(@D)/asoundlib-tail.h >> $@
> +	sed -n "/^AC_INIT.* \([0-9.]*\))/s//\#define SND_LIB_VERSION_STR \"\1\"/p" $< > $(@D)/version.h; \
> +	ln -sf alsa/version.h $(@D)/..
> +
> +LOCAL_GENERATED_SOURCES := $(GEN)
> +
> +LOCAL_SHARED_LIBRARIES := libdl
> +
> +include $(BUILD_SHARED_LIBRARY)
> diff --git a/android/config.h b/android/config.h
> new file mode 100644
> index 00000000..53d50396
> --- /dev/null
> +++ b/android/config.h
> @@ -0,0 +1,217 @@
> +/* include/config.h.  Generated from config.h.in by configure.  */
> +/* include/config.h.in.  Generated from configure.ac by autoheader.  */
> +
> +/* Directory with aload* device files */
> +#define ALOAD_DEVICE_DIRECTORY "/dev/"
> +
> +/* directory containing ALSA configuration database */
> +#define ALSA_CONFIG_DIR "/system/usr/share/alsa"
> +
> +/* Enable assert at error message handler */
> +/* #undef ALSA_DEBUG_ASSERT */
> +
> +/* Directory with ALSA device files */
> +#define ALSA_DEVICE_DIRECTORY "/dev/snd/"
> +
> +/* directory containing ALSA add-on modules */
> +#define ALSA_PLUGIN_DIR "/system/usr/lib/alsa-lib"
> +
> +/* Build hwdep component */
> +#define BUILD_HWDEP "1"
> +
> +/* Build mixer component */
> +#define BUILD_MIXER "1"
> +
> +/* Build PCM component */
> +#define BUILD_PCM "1"
> +
> +/* Build PCM adpcm plugin */
> +#define BUILD_PCM_PLUGIN_ADPCM "1"
> +
> +/* Build PCM alaw plugin */
> +#define BUILD_PCM_PLUGIN_ALAW "1"
> +
> +/* Build PCM lfloat plugin */
> +#define BUILD_PCM_PLUGIN_LFLOAT "1"
> +
> +/* Build PCM mmap-emul plugin */
> +#define BUILD_PCM_PLUGIN_MMAP_EMUL "1"
> +
> +/* Build PCM mulaw plugin */
> +#define BUILD_PCM_PLUGIN_MULAW "1"
> +
> +/* Build PCM rate plugin */
> +#define BUILD_PCM_PLUGIN_RATE "1"
> +
> +/* Build PCM route plugin */
> +#define BUILD_PCM_PLUGIN_ROUTE "1"
> +
> +/* Build raw MIDI component */
> +/* #undef BUILD_RAWMIDI */
> +
> +/* Build sequencer component */
> +/* #undef BUILD_SEQ */
> +
> +/* Build DSP Topology component */
> +#define BUILD_TOPOLOGY "1"
> +
> +/* Build UCM component */
> +#define BUILD_UCM "1"
> +
> +/* Have clock gettime */
> +#define HAVE_CLOCK_GETTIME 1
> +
> +/* Define to 1 if you have the <dlfcn.h> header file. */
> +#define HAVE_DLFCN_H 1
> +
> +/* Define to 1 if you have the <endian.h> header file. */
> +#define HAVE_ENDIAN_H 1
> +
> +/* Define to 1 if you have the <inttypes.h> header file. */
> +#define HAVE_INTTYPES_H 1
> +
> +/* Have libdl */
> +#define HAVE_LIBDL 1
> +
> +/* Have libpthread */
> +#define HAVE_LIBPTHREAD 1
> +
> +/* Define to 1 if you have the `resmgr' library (-lresmgr). */
> +/* #undef HAVE_LIBRESMGR */
> +
> +/* Have librt */
> +/* #undef HAVE_LIBRT */
> +
> +/* Define to 1 if you have the <memory.h> header file. */
> +#define HAVE_MEMORY_H 1
> +
> +/* Define if your pthreads implementation have PTHREAD_MUTEX_RECURSIVE */
> +#define HAVE_PTHREAD_MUTEX_RECURSIVE /**/
> +
> +/* Avoid calculation in float */
> +/* #undef HAVE_SOFT_FLOAT */
> +
> +/* Define to 1 if you have the <stdint.h> header file. */
> +#define HAVE_STDINT_H 1
> +
> +/* Define to 1 if you have the <stdlib.h> header file. */
> +#define HAVE_STDLIB_H 1
> +
> +/* Define to 1 if you have the <strings.h> header file. */
> +#define HAVE_STRINGS_H 1
> +
> +/* Define to 1 if you have the <string.h> header file. */
> +#define HAVE_STRING_H 1
> +
> +/* Define to 1 if you have the <sys/endian.h> header file. */
> +/* #undef HAVE_SYS_ENDIAN_H */
> +
> +/* Define to 1 if you have the <sys/shm.h> header file. */
> +#define HAVE_SYS_SHM_H 1
> +
> +/* Define to 1 if you have the <sys/stat.h> header file. */
> +#define HAVE_SYS_STAT_H 1
> +
> +/* Define to 1 if you have the <sys/types.h> header file. */
> +#define HAVE_SYS_TYPES_H 1
> +
> +/* Define to 1 if you have the <unistd.h> header file. */
> +#define HAVE_UNISTD_H 1
> +
> +/* Define to 1 if you have the `uselocale' function. */
> +#define HAVE_USELOCALE 1
> +
> +/* Enable use of wordexp */
> +/* #undef HAVE_WORDEXP */
> +
> +/* Define to 1 if compiler supports __thread */
> +#define HAVE___THREAD 1
> +
> +/* Define to the sub-directory where libtool stores uninstalled libraries. */
> +#define LT_OBJDIR ".libs/"
> +
> +/* No assert debug */
> +/* #undef NDEBUG */
> +
> +/* Name of package */
> +#define PACKAGE "alsa-lib"
> +
> +/* Define to the address where bug reports for this package should be sent. */
> +#define PACKAGE_BUGREPORT ""
> +
> +/* Define to the full name of this package. */
> +#define PACKAGE_NAME "alsa-lib"
> +
> +/* Define to the one symbol short name of this package. */
> +#define PACKAGE_TARNAME "alsa-lib"
> +
> +/* Define to the home page for this package. */
> +#define PACKAGE_URL ""
> +
> +/* Max number of cards */
> +#define SND_MAX_CARDS 32
> +
> +/* Define to 1 if you have the ANSI C header files. */
> +#define STDC_HEADERS 1
> +
> +/* Support /dev/aload* access for auto-loading */
> +/* #undef SUPPORT_ALOAD */
> +
> +/* Support resmgr with alsa-lib */
> +/* #undef SUPPORT_RESMGR */
> +
> +/* Disable thread-safe API functions */
> +#define THREAD_SAFE_API "1"
> +
> +/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
> +#define TIME_WITH_SYS_TIME 1
> +
> +/* directory to put tmp socket files */
> +#define TMPDIR "/tmp"
> +
> +/* Enable extensions on AIX 3, Interix.  */
> +#ifndef _ALL_SOURCE
> +# define _ALL_SOURCE 1
> +#endif
> +/* Enable GNU extensions on systems that have them.  */
> +#ifndef _GNU_SOURCE
> +# define _GNU_SOURCE 1
> +#endif
> +/* Enable threading extensions on Solaris.  */
> +#ifndef _POSIX_PTHREAD_SEMANTICS
> +# define _POSIX_PTHREAD_SEMANTICS 1
> +#endif
> +/* Enable extensions on HP NonStop.  */
> +#ifndef _TANDEM_SOURCE
> +# define _TANDEM_SOURCE 1
> +#endif
> +/* Enable general extensions on Solaris.  */
> +#ifndef __EXTENSIONS__
> +# define __EXTENSIONS__ 1
> +#endif
> +
> +
> +/* compiled with versioned symbols */
> +/* #undef VERSIONED_SYMBOLS */
> +
> +/* Define to 1 if on MINIX. */
> +/* #undef _MINIX */
> +
> +/* Define to 2 if the system does not provide POSIX.1 features except with
> +   this defined. */
> +/* #undef _POSIX_1_SOURCE */
> +
> +/* Define to 1 if you need to in order for `stat' and other things to work. */
> +/* #undef _POSIX_SOURCE */
> +
> +/* Toolchain Symbol Prefix */
> +#define __SYMBOL_PREFIX ""
> +
> +/* Define to empty if `const' does not conform to ANSI C. */
> +/* #undef const */
> +
> +/* Define to `__inline__' or `__inline' if that's what the C compiler
> +   calls it, or to nothing if 'inline' is not supported under any name.  */
> +#ifndef __cplusplus
> +/* #undef inline */
> +#endif

I am afraid, but those changes do not belong to the universal source
package. You may create an androidcompile script (something like
gitcompile) with some reasonable defaults for configure / autoconf /
automake.

If something is missing in the autoconf/automake files - just add it there.

					Jaroslav

-- 
Jaroslav Kysela <perex at perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.


More information about the Alsa-devel mailing list