From d81b0efaa81bc4b8db4208c7e196868243c3081e Mon Sep 17 00:00:00 2001 From: Chih-Wei Huang Date: Fri, 18 Jun 2021 16:30:30 +0800 Subject: [PATCH] Android: add makefile and config.h This is the porting of alsa-lib 1.2.5 to Android. Signed-off-by: Chih-Wei Huang --- android/Android.mk | 55 +++++++++++++ android/alsa | 1 + android/config.h | 226 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 282 insertions(+) create mode 100644 android/Android.mk create mode 120000 android/alsa create mode 100644 android/config.h diff --git a/android/Android.mk b/android/Android.mk new file mode 100644 index 00000000..39f9061f --- /dev/null +++ b/android/Android.mk @@ -0,0 +1,55 @@ +# +# Copyright (C) 2021 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 + +LOCAL_CFLAGS := -DPIC -Wno-absolute-value -Wno-address-of-packed-member \ + -Wno-missing-braces -Wno-missing-field-initializers \ + -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)) + +intermediates := $(call local-generated-sources-dir) + +GEN := $(intermediates)/alsa/asoundlib.h +$(GEN): $(LOCAL_PATH)configure.ac + $(hide) rm -rf $(dir $(@D)); mkdir -p $(@D) + ver=$$(sed -n "/^AC_INIT.* \([0-9.]*\))/s//\1/p" $<); vers=($${ver//./ }); \ + echo -e "#define SND_LIB_MAJOR $${vers[0]}\n#define SND_LIB_MINOR $${vers[1]}\n#define SND_LIB_SUBMINOR $${vers[2]}\n#define SND_LIB_EXTRAVER 1000000" > $(@D)/version.h; \ + echo -e "#define SND_LIB_VER(maj, min, sub) (((maj)<<16)|((min)<<8)|(sub))\n#define SND_LIB_VERSION SND_LIB_VER(SND_LIB_MAJOR, SND_LIB_MINOR, SND_LIB_SUBMINOR)" >> $(@D)/version.h; \ + echo "#define SND_LIB_VERSION_STR \"$$ver\"" >> $(@D)/version.h + cat $( $@; \ + sed -n "/.*\(#include <[ae].*.h>\).*/s//\1/p" $< >> $@; \ + cat $(> $@ + +LOCAL_GENERATED_SOURCES := $(GEN) + +LOCAL_C_INCLUDES := $(LOCAL_PATH)include $(LOCAL_PATH)android $(dir $(GEN)) +LOCAL_EXPORT_C_INCLUDE_DIRS := $(intermediates) $(LOCAL_PATH)android +LOCAL_SHARED_LIBRARIES := libdl + +include $(BUILD_SHARED_LIBRARY) diff --git a/android/alsa b/android/alsa new file mode 120000 index 00000000..f5030fe8 --- /dev/null +++ b/android/alsa @@ -0,0 +1 @@ +../include \ No newline at end of file diff --git a/android/config.h b/android/config.h new file mode 100644 index 00000000..9b13b873 --- /dev/null +++ b/android/config.h @@ -0,0 +1,226 @@ +/* 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 header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `eaccess' function. */ +/* #undef HAVE_EACCESS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ENDIAN_H 1 + +/* Define to 1 if you have the 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 header file. */ +#define HAVE_MEMORY_H 1 + +/* MMX technology is enabled */ +#define HAVE_MMX "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 header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ENDIAN_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SHM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the 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 + +/* Lockless dmix as default */ +/* #undef LOCKLESS_DMIX_DEFAULT */ + +/* 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 and . */ +#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 -- 2.11.0