| LOCAL_DIR := $(GET_LOCAL_DIR) |
| |
| LOCAL_COMPILEFLAGS := \ |
| -I$(LOCAL_DIR)/src/internal \ |
| -I$(LOCAL_DIR)/include \ |
| -I$(LOCAL_DIR)/third_party/include \ |
| |
| ifeq ($(ARCH),arm64) |
| MUSL_ARCH := aarch64 |
| else ifeq ($(ARCH),x86) |
| MUSL_ARCH := x86_64 |
| else |
| $(error Unsupported architecture $(ARCH) for musl build!) |
| endif |
| |
| LOCAL_COMPILEFLAGS += -I$(LOCAL_DIR)/arch/$(MUSL_ARCH) |
| |
| # The following are, more or less, from the upstream musl build. The |
| # _XOPEN_SOURCE value in particular is taken from there, and is |
| # necessary for many POSIX declarations to be visible internally. You |
| # can read about the semantics of it and the other feature test macros |
| # in |man 7 feature_test_macros| on Linux. musl exposes the minimum |
| # set of declarations or macro definitions allowed by those macros |
| # fairly carefully, and so also needs to undefine _ALL_SOURCE, so that |
| # it can define _BSD_SOURCE, _GNU_SOURCE, or _ALL_SOURCE in only |
| # certain source files. |
| |
| # TODO(kulakowski) Clean up the junkier -Wno flags below. |
| LOCAL_CFLAGS := \ |
| -D_XOPEN_SOURCE=700 \ |
| -U_ALL_SOURCE \ |
| -Wno-sign-compare \ |
| -Werror=incompatible-pointer-types \ |
| -Wno-implicit-fallthrough \ |
| |
| ifeq ($(call TOBOOL,$(USE_CLANG)),true) |
| LOCAL_COMPILEFLAGS += -fno-stack-protector |
| |
| endif |
| |
| # The upstream musl build uses this too. It's necessary to avoid the |
| # compiler assuming things about library functions that might not be true. |
| # For example, without this, GCC assumes that calling free(PTR) doesn't |
| # need any stores to *PTR to have actually happened. |
| LOCAL_CFLAGS += -ffreestanding |
| |
| LOCAL_SRCS := \ |
| $(LOCAL_DIR)/pthread/pthread_atfork.c \ |
| $(LOCAL_DIR)/pthread/pthread_attr_destroy.c \ |
| $(LOCAL_DIR)/pthread/pthread_attr_get.c \ |
| $(LOCAL_DIR)/pthread/pthread_attr_init.c \ |
| $(LOCAL_DIR)/pthread/pthread_attr_setdetachstate.c \ |
| $(LOCAL_DIR)/pthread/pthread_attr_setguardsize.c \ |
| $(LOCAL_DIR)/pthread/pthread_attr_setschedparam.c \ |
| $(LOCAL_DIR)/pthread/pthread_attr_setstacksize.c \ |
| $(LOCAL_DIR)/pthread/pthread_barrier_destroy.c \ |
| $(LOCAL_DIR)/pthread/pthread_barrier_init.c \ |
| $(LOCAL_DIR)/pthread/pthread_barrier_wait.c \ |
| $(LOCAL_DIR)/pthread/pthread_barrierattr_destroy.c \ |
| $(LOCAL_DIR)/pthread/pthread_barrierattr_init.c \ |
| $(LOCAL_DIR)/pthread/pthread_cancel.c \ |
| $(LOCAL_DIR)/pthread/pthread_cond_broadcast.c \ |
| $(LOCAL_DIR)/pthread/pthread_cond_destroy.c \ |
| $(LOCAL_DIR)/pthread/pthread_cond_init.c \ |
| $(LOCAL_DIR)/pthread/pthread_cond_signal.c \ |
| $(LOCAL_DIR)/pthread/pthread_cond_timedwait.c \ |
| $(LOCAL_DIR)/pthread/pthread_cond_wait.c \ |
| $(LOCAL_DIR)/pthread/pthread_condattr_destroy.c \ |
| $(LOCAL_DIR)/pthread/pthread_condattr_init.c \ |
| $(LOCAL_DIR)/pthread/pthread_condattr_setclock.c \ |
| $(LOCAL_DIR)/pthread/pthread_create.c \ |
| $(LOCAL_DIR)/pthread/pthread_detach.c \ |
| $(LOCAL_DIR)/pthread/pthread_equal.c \ |
| $(LOCAL_DIR)/pthread/pthread_getattr_np.c \ |
| $(LOCAL_DIR)/pthread/pthread_getconcurrency.c \ |
| $(LOCAL_DIR)/pthread/pthread_getcpuclockid.c \ |
| $(LOCAL_DIR)/pthread/pthread_getspecific.c \ |
| $(LOCAL_DIR)/pthread/pthread_join.c \ |
| $(LOCAL_DIR)/pthread/pthread_key.c \ |
| $(LOCAL_DIR)/pthread/pthread_kill.c \ |
| $(LOCAL_DIR)/pthread/pthread_mutex_consistent.c \ |
| $(LOCAL_DIR)/pthread/pthread_mutex_destroy.c \ |
| $(LOCAL_DIR)/pthread/pthread_mutex_getprioceiling.c \ |
| $(LOCAL_DIR)/pthread/pthread_mutex_init.c \ |
| $(LOCAL_DIR)/pthread/pthread_mutex_lock.c \ |
| $(LOCAL_DIR)/pthread/pthread_mutex_setprioceiling.c \ |
| $(LOCAL_DIR)/pthread/pthread_mutex_timedlock.c \ |
| $(LOCAL_DIR)/pthread/pthread_mutex_trylock.c \ |
| $(LOCAL_DIR)/pthread/pthread_mutex_unlock.c \ |
| $(LOCAL_DIR)/pthread/pthread_mutexattr_destroy.c \ |
| $(LOCAL_DIR)/pthread/pthread_mutexattr_init.c \ |
| $(LOCAL_DIR)/pthread/pthread_mutexattr_setprotocol.c \ |
| $(LOCAL_DIR)/pthread/pthread_mutexattr_setrobust.c \ |
| $(LOCAL_DIR)/pthread/pthread_mutexattr_settype.c \ |
| $(LOCAL_DIR)/pthread/pthread_once.c \ |
| $(LOCAL_DIR)/pthread/pthread_rwlock_destroy.c \ |
| $(LOCAL_DIR)/pthread/pthread_rwlock_init.c \ |
| $(LOCAL_DIR)/pthread/pthread_rwlock_rdlock.c \ |
| $(LOCAL_DIR)/pthread/pthread_rwlock_timedrdlock.c \ |
| $(LOCAL_DIR)/pthread/pthread_rwlock_timedwrlock.c \ |
| $(LOCAL_DIR)/pthread/pthread_rwlock_tryrdlock.c \ |
| $(LOCAL_DIR)/pthread/pthread_rwlock_trywrlock.c \ |
| $(LOCAL_DIR)/pthread/pthread_rwlock_unlock.c \ |
| $(LOCAL_DIR)/pthread/pthread_rwlock_wrlock.c \ |
| $(LOCAL_DIR)/pthread/pthread_rwlockattr_destroy.c \ |
| $(LOCAL_DIR)/pthread/pthread_rwlockattr_init.c \ |
| $(LOCAL_DIR)/pthread/pthread_self.c \ |
| $(LOCAL_DIR)/pthread/pthread_setcancelstate.c \ |
| $(LOCAL_DIR)/pthread/pthread_setcanceltype.c \ |
| $(LOCAL_DIR)/pthread/pthread_setconcurrency.c \ |
| $(LOCAL_DIR)/pthread/pthread_setspecific.c \ |
| $(LOCAL_DIR)/pthread/pthread_sigmask.c \ |
| $(LOCAL_DIR)/pthread/pthread_spin_destroy.c \ |
| $(LOCAL_DIR)/pthread/pthread_spin_init.c \ |
| $(LOCAL_DIR)/pthread/pthread_spin_lock.c \ |
| $(LOCAL_DIR)/pthread/pthread_spin_trylock.c \ |
| $(LOCAL_DIR)/pthread/pthread_spin_unlock.c \ |
| $(LOCAL_DIR)/pthread/pthread_testcancel.c \ |
| $(LOCAL_DIR)/pthread/sem_destroy.c \ |
| $(LOCAL_DIR)/pthread/sem_getvalue.c \ |
| $(LOCAL_DIR)/pthread/sem_init.c \ |
| $(LOCAL_DIR)/pthread/sem_post.c \ |
| $(LOCAL_DIR)/pthread/sem_timedwait.c \ |
| $(LOCAL_DIR)/pthread/sem_trywait.c \ |
| $(LOCAL_DIR)/pthread/sem_unlink.c \ |
| $(LOCAL_DIR)/pthread/sem_wait.c \ |
| $(LOCAL_DIR)/src/complex/cabs.c \ |
| $(LOCAL_DIR)/src/complex/cabsf.c \ |
| $(LOCAL_DIR)/src/complex/cabsl.c \ |
| $(LOCAL_DIR)/src/complex/cacos.c \ |
| $(LOCAL_DIR)/src/complex/cacosf.c \ |
| $(LOCAL_DIR)/src/complex/cacosh.c \ |
| $(LOCAL_DIR)/src/complex/cacoshf.c \ |
| $(LOCAL_DIR)/src/complex/cacoshl.c \ |
| $(LOCAL_DIR)/src/complex/cacosl.c \ |
| $(LOCAL_DIR)/src/complex/carg.c \ |
| $(LOCAL_DIR)/src/complex/cargf.c \ |
| $(LOCAL_DIR)/src/complex/cargl.c \ |
| $(LOCAL_DIR)/src/complex/casin.c \ |
| $(LOCAL_DIR)/src/complex/casinf.c \ |
| $(LOCAL_DIR)/src/complex/casinh.c \ |
| $(LOCAL_DIR)/src/complex/casinhf.c \ |
| $(LOCAL_DIR)/src/complex/casinhl.c \ |
| $(LOCAL_DIR)/src/complex/casinl.c \ |
| $(LOCAL_DIR)/src/complex/catanh.c \ |
| $(LOCAL_DIR)/src/complex/catanhf.c \ |
| $(LOCAL_DIR)/src/complex/catanhl.c \ |
| $(LOCAL_DIR)/src/complex/ccos.c \ |
| $(LOCAL_DIR)/src/complex/ccosf.c \ |
| $(LOCAL_DIR)/src/complex/ccoshl.c \ |
| $(LOCAL_DIR)/src/complex/ccosl.c \ |
| $(LOCAL_DIR)/src/complex/cexpl.c \ |
| $(LOCAL_DIR)/src/complex/cimag.c \ |
| $(LOCAL_DIR)/src/complex/cimagf.c \ |
| $(LOCAL_DIR)/src/complex/cimagl.c \ |
| $(LOCAL_DIR)/src/complex/clog.c \ |
| $(LOCAL_DIR)/src/complex/clogf.c \ |
| $(LOCAL_DIR)/src/complex/clogl.c \ |
| $(LOCAL_DIR)/src/complex/conj.c \ |
| $(LOCAL_DIR)/src/complex/conjf.c \ |
| $(LOCAL_DIR)/src/complex/conjl.c \ |
| $(LOCAL_DIR)/src/complex/cpow.c \ |
| $(LOCAL_DIR)/src/complex/cpowf.c \ |
| $(LOCAL_DIR)/src/complex/cpowl.c \ |
| $(LOCAL_DIR)/src/complex/cproj.c \ |
| $(LOCAL_DIR)/src/complex/cprojf.c \ |
| $(LOCAL_DIR)/src/complex/cprojl.c \ |
| $(LOCAL_DIR)/src/complex/creal.c \ |
| $(LOCAL_DIR)/src/complex/crealf.c \ |
| $(LOCAL_DIR)/src/complex/creall.c \ |
| $(LOCAL_DIR)/src/complex/csin.c \ |
| $(LOCAL_DIR)/src/complex/csinf.c \ |
| $(LOCAL_DIR)/src/complex/csinhl.c \ |
| $(LOCAL_DIR)/src/complex/csinl.c \ |
| $(LOCAL_DIR)/src/complex/csqrtl.c \ |
| $(LOCAL_DIR)/src/complex/ctan.c \ |
| $(LOCAL_DIR)/src/complex/ctanf.c \ |
| $(LOCAL_DIR)/src/complex/ctanhl.c \ |
| $(LOCAL_DIR)/src/complex/ctanl.c \ |
| $(LOCAL_DIR)/src/conf/confstr.c \ |
| $(LOCAL_DIR)/src/conf/fpathconf.c \ |
| $(LOCAL_DIR)/src/conf/pathconf.c \ |
| $(LOCAL_DIR)/src/conf/sysconf.c \ |
| $(LOCAL_DIR)/src/ctype/__ctype_b_loc.c \ |
| $(LOCAL_DIR)/src/ctype/__ctype_get_mb_cur_max.c \ |
| $(LOCAL_DIR)/src/ctype/__ctype_tolower_loc.c \ |
| $(LOCAL_DIR)/src/ctype/__ctype_toupper_loc.c \ |
| $(LOCAL_DIR)/src/ctype/isalnum.c \ |
| $(LOCAL_DIR)/src/ctype/isalpha.c \ |
| $(LOCAL_DIR)/src/ctype/isascii.c \ |
| $(LOCAL_DIR)/src/ctype/isblank.c \ |
| $(LOCAL_DIR)/src/ctype/iscntrl.c \ |
| $(LOCAL_DIR)/src/ctype/isdigit.c \ |
| $(LOCAL_DIR)/src/ctype/isgraph.c \ |
| $(LOCAL_DIR)/src/ctype/islower.c \ |
| $(LOCAL_DIR)/src/ctype/isprint.c \ |
| $(LOCAL_DIR)/src/ctype/ispunct.c \ |
| $(LOCAL_DIR)/src/ctype/isspace.c \ |
| $(LOCAL_DIR)/src/ctype/isupper.c \ |
| $(LOCAL_DIR)/src/ctype/iswalnum.c \ |
| $(LOCAL_DIR)/src/ctype/iswalpha.c \ |
| $(LOCAL_DIR)/src/ctype/iswblank.c \ |
| $(LOCAL_DIR)/src/ctype/iswcntrl.c \ |
| $(LOCAL_DIR)/src/ctype/iswctype.c \ |
| $(LOCAL_DIR)/src/ctype/iswdigit.c \ |
| $(LOCAL_DIR)/src/ctype/iswgraph.c \ |
| $(LOCAL_DIR)/src/ctype/iswlower.c \ |
| $(LOCAL_DIR)/src/ctype/iswprint.c \ |
| $(LOCAL_DIR)/src/ctype/iswpunct.c \ |
| $(LOCAL_DIR)/src/ctype/iswspace.c \ |
| $(LOCAL_DIR)/src/ctype/iswupper.c \ |
| $(LOCAL_DIR)/src/ctype/iswxdigit.c \ |
| $(LOCAL_DIR)/src/ctype/isxdigit.c \ |
| $(LOCAL_DIR)/src/ctype/toascii.c \ |
| $(LOCAL_DIR)/src/ctype/tolower.c \ |
| $(LOCAL_DIR)/src/ctype/toupper.c \ |
| $(LOCAL_DIR)/src/ctype/towctrans.c \ |
| $(LOCAL_DIR)/src/ctype/wcswidth.c \ |
| $(LOCAL_DIR)/src/ctype/wctrans.c \ |
| $(LOCAL_DIR)/src/ctype/wcwidth.c \ |
| $(LOCAL_DIR)/src/dirent/alphasort.c \ |
| $(LOCAL_DIR)/src/dirent/scandir.c \ |
| $(LOCAL_DIR)/src/dirent/versionsort.c \ |
| $(LOCAL_DIR)/src/env/__environ.c \ |
| $(LOCAL_DIR)/src/env/__libc_start_main.c \ |
| $(LOCAL_DIR)/src/env/__stack_chk_fail.c \ |
| $(LOCAL_DIR)/src/env/clearenv.c \ |
| $(LOCAL_DIR)/src/env/getenv.c \ |
| $(LOCAL_DIR)/src/env/putenv.c \ |
| $(LOCAL_DIR)/src/env/setenv.c \ |
| $(LOCAL_DIR)/src/env/unsetenv.c \ |
| $(LOCAL_DIR)/src/errno/__errno_location.c \ |
| $(LOCAL_DIR)/src/errno/strerror.c \ |
| $(LOCAL_DIR)/src/exit/_Exit.c \ |
| $(LOCAL_DIR)/src/exit/__cxa_thread_atexit.c \ |
| $(LOCAL_DIR)/src/exit/abort.c \ |
| $(LOCAL_DIR)/src/exit/assert.c \ |
| $(LOCAL_DIR)/src/exit/at_quick_exit.c \ |
| $(LOCAL_DIR)/src/exit/atexit.c \ |
| $(LOCAL_DIR)/src/exit/exit.c \ |
| $(LOCAL_DIR)/src/exit/quick_exit.c \ |
| $(LOCAL_DIR)/src/fcntl/creat.c \ |
| $(LOCAL_DIR)/src/fenv/__flt_rounds.c \ |
| $(LOCAL_DIR)/src/fenv/fegetexceptflag.c \ |
| $(LOCAL_DIR)/src/fenv/feholdexcept.c \ |
| $(LOCAL_DIR)/src/fenv/fesetexceptflag.c \ |
| $(LOCAL_DIR)/src/fenv/fesetround.c \ |
| $(LOCAL_DIR)/src/fenv/feupdateenv.c \ |
| $(LOCAL_DIR)/src/internal/floatscan.c \ |
| $(LOCAL_DIR)/src/internal/intscan.c \ |
| $(LOCAL_DIR)/src/internal/libc.c \ |
| $(LOCAL_DIR)/src/internal/shgetc.c \ |
| $(LOCAL_DIR)/src/ipc/ftok.c \ |
| $(LOCAL_DIR)/src/ipc/msgctl.c \ |
| $(LOCAL_DIR)/src/ipc/msgget.c \ |
| $(LOCAL_DIR)/src/ipc/msgrcv.c \ |
| $(LOCAL_DIR)/src/ipc/msgsnd.c \ |
| $(LOCAL_DIR)/src/ipc/semctl.c \ |
| $(LOCAL_DIR)/src/ipc/semget.c \ |
| $(LOCAL_DIR)/src/ipc/semop.c \ |
| $(LOCAL_DIR)/src/ipc/semtimedop.c \ |
| $(LOCAL_DIR)/src/ipc/shmat.c \ |
| $(LOCAL_DIR)/src/ipc/shmctl.c \ |
| $(LOCAL_DIR)/src/ipc/shmdt.c \ |
| $(LOCAL_DIR)/src/ipc/shmget.c \ |
| $(LOCAL_DIR)/src/ldso/dlclose.c \ |
| $(LOCAL_DIR)/src/ldso/dlerror.c \ |
| $(LOCAL_DIR)/src/ldso/dlinfo.c \ |
| $(LOCAL_DIR)/src/legacy/cuserid.c \ |
| $(LOCAL_DIR)/src/legacy/err.c \ |
| $(LOCAL_DIR)/src/legacy/euidaccess.c \ |
| $(LOCAL_DIR)/src/legacy/futimes.c \ |
| $(LOCAL_DIR)/src/legacy/getdtablesize.c \ |
| $(LOCAL_DIR)/src/legacy/getpagesize.c \ |
| $(LOCAL_DIR)/src/legacy/getpass.c \ |
| $(LOCAL_DIR)/src/legacy/isastream.c \ |
| $(LOCAL_DIR)/src/legacy/lutimes.c \ |
| $(LOCAL_DIR)/src/linux/adjtime.c \ |
| $(LOCAL_DIR)/src/linux/flock.c \ |
| $(LOCAL_DIR)/src/linux/sethostname.c \ |
| $(LOCAL_DIR)/src/linux/settimeofday.c \ |
| $(LOCAL_DIR)/src/linux/stime.c \ |
| $(LOCAL_DIR)/src/linux/utimes.c \ |
| $(LOCAL_DIR)/src/locale/__lctrans.c \ |
| $(LOCAL_DIR)/src/locale/__mo_lookup.c \ |
| $(LOCAL_DIR)/src/locale/c_locale.c \ |
| $(LOCAL_DIR)/src/locale/catclose.c \ |
| $(LOCAL_DIR)/src/locale/catgets.c \ |
| $(LOCAL_DIR)/src/locale/catopen.c \ |
| $(LOCAL_DIR)/src/locale/duplocale.c \ |
| $(LOCAL_DIR)/src/locale/freelocale.c \ |
| $(LOCAL_DIR)/src/locale/iconv.c \ |
| $(LOCAL_DIR)/src/locale/langinfo.c \ |
| $(LOCAL_DIR)/src/locale/locale_map.c \ |
| $(LOCAL_DIR)/src/locale/localeconv.c \ |
| $(LOCAL_DIR)/src/locale/newlocale.c \ |
| $(LOCAL_DIR)/src/locale/pleval.c \ |
| $(LOCAL_DIR)/src/locale/setlocale.c \ |
| $(LOCAL_DIR)/src/locale/strcoll.c \ |
| $(LOCAL_DIR)/src/locale/strfmon.c \ |
| $(LOCAL_DIR)/src/locale/strxfrm.c \ |
| $(LOCAL_DIR)/src/locale/uselocale.c \ |
| $(LOCAL_DIR)/src/locale/wcscoll.c \ |
| $(LOCAL_DIR)/src/locale/wcsxfrm.c \ |
| $(LOCAL_DIR)/src/math/__expo2.c \ |
| $(LOCAL_DIR)/src/math/__expo2f.c \ |
| $(LOCAL_DIR)/src/math/__fpclassify.c \ |
| $(LOCAL_DIR)/src/math/__fpclassifyf.c \ |
| $(LOCAL_DIR)/src/math/__fpclassifyl.c \ |
| $(LOCAL_DIR)/src/math/__invtrigl.c \ |
| $(LOCAL_DIR)/src/math/__signbit.c \ |
| $(LOCAL_DIR)/src/math/__signbitf.c \ |
| $(LOCAL_DIR)/src/math/__signbitl.c \ |
| $(LOCAL_DIR)/src/math/acosh.c \ |
| $(LOCAL_DIR)/src/math/acoshf.c \ |
| $(LOCAL_DIR)/src/math/acoshl.c \ |
| $(LOCAL_DIR)/src/math/asinh.c \ |
| $(LOCAL_DIR)/src/math/asinhf.c \ |
| $(LOCAL_DIR)/src/math/asinhl.c \ |
| $(LOCAL_DIR)/src/math/atanh.c \ |
| $(LOCAL_DIR)/src/math/atanhf.c \ |
| $(LOCAL_DIR)/src/math/atanhl.c \ |
| $(LOCAL_DIR)/src/math/ceil.c \ |
| $(LOCAL_DIR)/src/math/ceilf.c \ |
| $(LOCAL_DIR)/src/math/copysign.c \ |
| $(LOCAL_DIR)/src/math/copysignf.c \ |
| $(LOCAL_DIR)/src/math/copysignl.c \ |
| $(LOCAL_DIR)/src/math/cosh.c \ |
| $(LOCAL_DIR)/src/math/coshf.c \ |
| $(LOCAL_DIR)/src/math/coshl.c \ |
| $(LOCAL_DIR)/src/math/cosl.c \ |
| $(LOCAL_DIR)/src/math/exp10.c \ |
| $(LOCAL_DIR)/src/math/exp10f.c \ |
| $(LOCAL_DIR)/src/math/exp10l.c \ |
| $(LOCAL_DIR)/src/math/fdim.c \ |
| $(LOCAL_DIR)/src/math/fdimf.c \ |
| $(LOCAL_DIR)/src/math/fdiml.c \ |
| $(LOCAL_DIR)/src/math/finite.c \ |
| $(LOCAL_DIR)/src/math/finitef.c \ |
| $(LOCAL_DIR)/src/math/floor.c \ |
| $(LOCAL_DIR)/src/math/floorf.c \ |
| $(LOCAL_DIR)/src/math/fmax.c \ |
| $(LOCAL_DIR)/src/math/fmaxf.c \ |
| $(LOCAL_DIR)/src/math/fmaxl.c \ |
| $(LOCAL_DIR)/src/math/fmin.c \ |
| $(LOCAL_DIR)/src/math/fminf.c \ |
| $(LOCAL_DIR)/src/math/fminl.c \ |
| $(LOCAL_DIR)/src/math/fmod.c \ |
| $(LOCAL_DIR)/src/math/fmodf.c \ |
| $(LOCAL_DIR)/src/math/frexp.c \ |
| $(LOCAL_DIR)/src/math/frexpf.c \ |
| $(LOCAL_DIR)/src/math/frexpl.c \ |
| $(LOCAL_DIR)/src/math/hypot.c \ |
| $(LOCAL_DIR)/src/math/hypotf.c \ |
| $(LOCAL_DIR)/src/math/hypotl.c \ |
| $(LOCAL_DIR)/src/math/ilogb.c \ |
| $(LOCAL_DIR)/src/math/ilogbf.c \ |
| $(LOCAL_DIR)/src/math/ilogbl.c \ |
| $(LOCAL_DIR)/src/math/ldexp.c \ |
| $(LOCAL_DIR)/src/math/ldexpf.c \ |
| $(LOCAL_DIR)/src/math/ldexpl.c \ |
| $(LOCAL_DIR)/src/math/lgamma.c \ |
| $(LOCAL_DIR)/src/math/lgammaf.c \ |
| $(LOCAL_DIR)/src/math/llround.c \ |
| $(LOCAL_DIR)/src/math/llroundf.c \ |
| $(LOCAL_DIR)/src/math/llroundl.c \ |
| $(LOCAL_DIR)/src/math/logb.c \ |
| $(LOCAL_DIR)/src/math/logbf.c \ |
| $(LOCAL_DIR)/src/math/logbl.c \ |
| $(LOCAL_DIR)/src/math/lround.c \ |
| $(LOCAL_DIR)/src/math/lroundf.c \ |
| $(LOCAL_DIR)/src/math/lroundl.c \ |
| $(LOCAL_DIR)/src/math/modf.c \ |
| $(LOCAL_DIR)/src/math/modff.c \ |
| $(LOCAL_DIR)/src/math/modfl.c \ |
| $(LOCAL_DIR)/src/math/nan.c \ |
| $(LOCAL_DIR)/src/math/nanf.c \ |
| $(LOCAL_DIR)/src/math/nanl.c \ |
| $(LOCAL_DIR)/src/math/nearbyint.c \ |
| $(LOCAL_DIR)/src/math/nearbyintf.c \ |
| $(LOCAL_DIR)/src/math/nearbyintl.c \ |
| $(LOCAL_DIR)/src/math/nextafter.c \ |
| $(LOCAL_DIR)/src/math/nextafterf.c \ |
| $(LOCAL_DIR)/src/math/nextafterl.c \ |
| $(LOCAL_DIR)/src/math/nexttoward.c \ |
| $(LOCAL_DIR)/src/math/nexttowardf.c \ |
| $(LOCAL_DIR)/src/math/nexttowardl.c \ |
| $(LOCAL_DIR)/src/math/remainder.c \ |
| $(LOCAL_DIR)/src/math/remainderf.c \ |
| $(LOCAL_DIR)/src/math/remquo.c \ |
| $(LOCAL_DIR)/src/math/remquof.c \ |
| $(LOCAL_DIR)/src/math/remquol.c \ |
| $(LOCAL_DIR)/src/math/rint.c \ |
| $(LOCAL_DIR)/src/math/rintf.c \ |
| $(LOCAL_DIR)/src/math/round.c \ |
| $(LOCAL_DIR)/src/math/roundf.c \ |
| $(LOCAL_DIR)/src/math/roundl.c \ |
| $(LOCAL_DIR)/src/math/scalbln.c \ |
| $(LOCAL_DIR)/src/math/scalblnf.c \ |
| $(LOCAL_DIR)/src/math/scalblnl.c \ |
| $(LOCAL_DIR)/src/math/scalbn.c \ |
| $(LOCAL_DIR)/src/math/scalbnf.c \ |
| $(LOCAL_DIR)/src/math/scalbnl.c \ |
| $(LOCAL_DIR)/src/math/signgam.c \ |
| $(LOCAL_DIR)/src/math/significand.c \ |
| $(LOCAL_DIR)/src/math/significandf.c \ |
| $(LOCAL_DIR)/src/math/sincosl.c \ |
| $(LOCAL_DIR)/src/math/sinh.c \ |
| $(LOCAL_DIR)/src/math/sinhf.c \ |
| $(LOCAL_DIR)/src/math/sinhl.c \ |
| $(LOCAL_DIR)/src/math/sinl.c \ |
| $(LOCAL_DIR)/src/math/tanh.c \ |
| $(LOCAL_DIR)/src/math/tanhf.c \ |
| $(LOCAL_DIR)/src/math/tanhl.c \ |
| $(LOCAL_DIR)/src/math/tanl.c \ |
| $(LOCAL_DIR)/src/math/tgamma.c \ |
| $(LOCAL_DIR)/src/math/tgammaf.c \ |
| $(LOCAL_DIR)/src/math/trunc.c \ |
| $(LOCAL_DIR)/src/math/truncf.c \ |
| $(LOCAL_DIR)/src/misc/a64l.c \ |
| $(LOCAL_DIR)/src/misc/basename.c \ |
| $(LOCAL_DIR)/src/misc/dirname.c \ |
| $(LOCAL_DIR)/src/misc/ffs.c \ |
| $(LOCAL_DIR)/src/misc/ffsl.c \ |
| $(LOCAL_DIR)/src/misc/ffsll.c \ |
| $(LOCAL_DIR)/src/misc/get_current_dir_name.c \ |
| $(LOCAL_DIR)/src/misc/getauxval.c \ |
| $(LOCAL_DIR)/src/misc/getdomainname.c \ |
| $(LOCAL_DIR)/src/misc/gethostid.c \ |
| $(LOCAL_DIR)/src/misc/getopt.c \ |
| $(LOCAL_DIR)/src/misc/getopt_long.c \ |
| $(LOCAL_DIR)/src/misc/getsubopt.c \ |
| $(LOCAL_DIR)/src/misc/initgroups.c \ |
| $(LOCAL_DIR)/src/misc/issetugid.c \ |
| $(LOCAL_DIR)/src/misc/lockf.c \ |
| $(LOCAL_DIR)/src/misc/openpty.c \ |
| $(LOCAL_DIR)/src/misc/ptsname.c \ |
| $(LOCAL_DIR)/src/misc/pty.c \ |
| $(LOCAL_DIR)/src/misc/setdomainname.c \ |
| $(LOCAL_DIR)/src/misc/syslog.c \ |
| $(LOCAL_DIR)/src/misc/wordexp.c \ |
| $(LOCAL_DIR)/src/mman/madvise.c \ |
| $(LOCAL_DIR)/src/mman/mlock.c \ |
| $(LOCAL_DIR)/src/mman/mlockall.c \ |
| $(LOCAL_DIR)/src/mman/mmap.c \ |
| $(LOCAL_DIR)/src/mman/mprotect.c \ |
| $(LOCAL_DIR)/src/mman/msync.c \ |
| $(LOCAL_DIR)/src/mman/munlock.c \ |
| $(LOCAL_DIR)/src/mman/munlockall.c \ |
| $(LOCAL_DIR)/src/mman/munmap.c \ |
| $(LOCAL_DIR)/src/mman/posix_madvise.c \ |
| $(LOCAL_DIR)/src/mman/shm_open.c \ |
| $(LOCAL_DIR)/src/multibyte/btowc.c \ |
| $(LOCAL_DIR)/src/multibyte/c16rtomb.c \ |
| $(LOCAL_DIR)/src/multibyte/c32rtomb.c \ |
| $(LOCAL_DIR)/src/multibyte/internal.c \ |
| $(LOCAL_DIR)/src/multibyte/mblen.c \ |
| $(LOCAL_DIR)/src/multibyte/mbrlen.c \ |
| $(LOCAL_DIR)/src/multibyte/mbrtoc16.c \ |
| $(LOCAL_DIR)/src/multibyte/mbrtoc32.c \ |
| $(LOCAL_DIR)/src/multibyte/mbrtowc.c \ |
| $(LOCAL_DIR)/src/multibyte/mbsinit.c \ |
| $(LOCAL_DIR)/src/multibyte/mbsnrtowcs.c \ |
| $(LOCAL_DIR)/src/multibyte/mbsrtowcs.c \ |
| $(LOCAL_DIR)/src/multibyte/mbstowcs.c \ |
| $(LOCAL_DIR)/src/multibyte/mbtowc.c \ |
| $(LOCAL_DIR)/src/multibyte/wcrtomb.c \ |
| $(LOCAL_DIR)/src/multibyte/wcsnrtombs.c \ |
| $(LOCAL_DIR)/src/multibyte/wcsrtombs.c \ |
| $(LOCAL_DIR)/src/multibyte/wcstombs.c \ |
| $(LOCAL_DIR)/src/multibyte/wctob.c \ |
| $(LOCAL_DIR)/src/multibyte/wctomb.c \ |
| $(LOCAL_DIR)/src/network/accept.c \ |
| $(LOCAL_DIR)/src/network/dn_comp.c \ |
| $(LOCAL_DIR)/src/network/dn_expand.c \ |
| $(LOCAL_DIR)/src/network/dn_skipname.c \ |
| $(LOCAL_DIR)/src/network/dns_parse.c \ |
| $(LOCAL_DIR)/src/network/ent.c \ |
| $(LOCAL_DIR)/src/network/ether.c \ |
| $(LOCAL_DIR)/src/network/gai_strerror.c \ |
| $(LOCAL_DIR)/src/network/gethostbyaddr.c \ |
| $(LOCAL_DIR)/src/network/gethostbyaddr_r.c \ |
| $(LOCAL_DIR)/src/network/gethostbyname.c \ |
| $(LOCAL_DIR)/src/network/gethostbyname2.c \ |
| $(LOCAL_DIR)/src/network/gethostbyname2_r.c \ |
| $(LOCAL_DIR)/src/network/gethostbyname_r.c \ |
| $(LOCAL_DIR)/src/network/getifaddrs.c \ |
| $(LOCAL_DIR)/src/network/getnameinfo.c \ |
| $(LOCAL_DIR)/src/network/getservbyname.c \ |
| $(LOCAL_DIR)/src/network/getservbyname_r.c \ |
| $(LOCAL_DIR)/src/network/getservbyport.c \ |
| $(LOCAL_DIR)/src/network/getservbyport_r.c \ |
| $(LOCAL_DIR)/src/network/h_errno.c \ |
| $(LOCAL_DIR)/src/network/herror.c \ |
| $(LOCAL_DIR)/src/network/hstrerror.c \ |
| $(LOCAL_DIR)/src/network/htonl.c \ |
| $(LOCAL_DIR)/src/network/htons.c \ |
| $(LOCAL_DIR)/src/network/if_freenameindex.c \ |
| $(LOCAL_DIR)/src/network/if_indextoname.c \ |
| $(LOCAL_DIR)/src/network/if_nameindex.c \ |
| $(LOCAL_DIR)/src/network/if_nametoindex.c \ |
| $(LOCAL_DIR)/src/network/in6addr_any.c \ |
| $(LOCAL_DIR)/src/network/in6addr_loopback.c \ |
| $(LOCAL_DIR)/src/network/inet_addr.c \ |
| $(LOCAL_DIR)/src/network/inet_aton.c \ |
| $(LOCAL_DIR)/src/network/inet_legacy.c \ |
| $(LOCAL_DIR)/src/network/inet_ntoa.c \ |
| $(LOCAL_DIR)/src/network/inet_ntop.c \ |
| $(LOCAL_DIR)/src/network/inet_pton.c \ |
| $(LOCAL_DIR)/src/network/lookup_ipliteral.c \ |
| $(LOCAL_DIR)/src/network/lookup_serv.c \ |
| $(LOCAL_DIR)/src/network/netlink.c \ |
| $(LOCAL_DIR)/src/network/netname.c \ |
| $(LOCAL_DIR)/src/network/ns_parse.c \ |
| $(LOCAL_DIR)/src/network/ntohl.c \ |
| $(LOCAL_DIR)/src/network/ntohs.c \ |
| $(LOCAL_DIR)/src/network/proto.c \ |
| $(LOCAL_DIR)/src/network/recv.c \ |
| $(LOCAL_DIR)/src/network/res_init.c \ |
| $(LOCAL_DIR)/src/network/res_mkquery.c \ |
| $(LOCAL_DIR)/src/network/res_msend.c \ |
| $(LOCAL_DIR)/src/network/res_query.c \ |
| $(LOCAL_DIR)/src/network/res_querydomain.c \ |
| $(LOCAL_DIR)/src/network/res_send.c \ |
| $(LOCAL_DIR)/src/network/res_state.c \ |
| $(LOCAL_DIR)/src/network/resolvconf.c \ |
| $(LOCAL_DIR)/src/network/send.c \ |
| $(LOCAL_DIR)/src/network/serv.c \ |
| $(LOCAL_DIR)/src/passwd/fgetgrent.c \ |
| $(LOCAL_DIR)/src/passwd/fgetpwent.c \ |
| $(LOCAL_DIR)/src/passwd/getgr_a.c \ |
| $(LOCAL_DIR)/src/passwd/getgr_r.c \ |
| $(LOCAL_DIR)/src/passwd/getgrent.c \ |
| $(LOCAL_DIR)/src/passwd/getgrent_a.c \ |
| $(LOCAL_DIR)/src/passwd/getgrouplist.c \ |
| $(LOCAL_DIR)/src/passwd/getpw_a.c \ |
| $(LOCAL_DIR)/src/passwd/getpw_r.c \ |
| $(LOCAL_DIR)/src/passwd/getpwent.c \ |
| $(LOCAL_DIR)/src/passwd/getpwent_a.c \ |
| $(LOCAL_DIR)/src/passwd/nscd_query.c \ |
| $(LOCAL_DIR)/src/passwd/putgrent.c \ |
| $(LOCAL_DIR)/src/passwd/putpwent.c \ |
| $(LOCAL_DIR)/src/prng/__rand48_step.c \ |
| $(LOCAL_DIR)/src/prng/__seed48.c \ |
| $(LOCAL_DIR)/src/prng/drand48.c \ |
| $(LOCAL_DIR)/src/prng/lcong48.c \ |
| $(LOCAL_DIR)/src/prng/lrand48.c \ |
| $(LOCAL_DIR)/src/prng/mrand48.c \ |
| $(LOCAL_DIR)/src/prng/rand.c \ |
| $(LOCAL_DIR)/src/prng/rand_r.c \ |
| $(LOCAL_DIR)/src/prng/random.c \ |
| $(LOCAL_DIR)/src/prng/seed48.c \ |
| $(LOCAL_DIR)/src/prng/srand48.c \ |
| $(LOCAL_DIR)/src/process/execl.c \ |
| $(LOCAL_DIR)/src/process/execle.c \ |
| $(LOCAL_DIR)/src/process/execlp.c \ |
| $(LOCAL_DIR)/src/process/execv.c \ |
| $(LOCAL_DIR)/src/process/execve.c \ |
| $(LOCAL_DIR)/src/process/execvp.c \ |
| $(LOCAL_DIR)/src/process/fexecve.c \ |
| $(LOCAL_DIR)/src/process/fork.c \ |
| $(LOCAL_DIR)/src/process/posix_spawn.c \ |
| $(LOCAL_DIR)/src/process/posix_spawn_file_actions_addclose.c \ |
| $(LOCAL_DIR)/src/process/posix_spawn_file_actions_adddup2.c \ |
| $(LOCAL_DIR)/src/process/posix_spawn_file_actions_addopen.c \ |
| $(LOCAL_DIR)/src/process/posix_spawn_file_actions_destroy.c \ |
| $(LOCAL_DIR)/src/process/posix_spawn_file_actions_init.c \ |
| $(LOCAL_DIR)/src/process/posix_spawnattr_destroy.c \ |
| $(LOCAL_DIR)/src/process/posix_spawnattr_getflags.c \ |
| $(LOCAL_DIR)/src/process/posix_spawnattr_getpgroup.c \ |
| $(LOCAL_DIR)/src/process/posix_spawnattr_getsigdefault.c \ |
| $(LOCAL_DIR)/src/process/posix_spawnattr_getsigmask.c \ |
| $(LOCAL_DIR)/src/process/posix_spawnattr_init.c \ |
| $(LOCAL_DIR)/src/process/posix_spawnattr_sched.c \ |
| $(LOCAL_DIR)/src/process/posix_spawnattr_setflags.c \ |
| $(LOCAL_DIR)/src/process/posix_spawnattr_setpgroup.c \ |
| $(LOCAL_DIR)/src/process/posix_spawnattr_setsigdefault.c \ |
| $(LOCAL_DIR)/src/process/posix_spawnattr_setsigmask.c \ |
| $(LOCAL_DIR)/src/process/posix_spawnp.c \ |
| $(LOCAL_DIR)/src/process/system.c \ |
| $(LOCAL_DIR)/src/process/wait.c \ |
| $(LOCAL_DIR)/src/process/waitid.c \ |
| $(LOCAL_DIR)/src/process/waitpid.c \ |
| $(LOCAL_DIR)/src/regex/fnmatch.c \ |
| $(LOCAL_DIR)/src/regex/glob.c \ |
| $(LOCAL_DIR)/src/sched/affinity.c \ |
| $(LOCAL_DIR)/src/sched/sched_cpucount.c \ |
| $(LOCAL_DIR)/src/sched/sched_get_priority_max.c \ |
| $(LOCAL_DIR)/src/sched/sched_getcpu.c \ |
| $(LOCAL_DIR)/src/sched/sched_getparam.c \ |
| $(LOCAL_DIR)/src/sched/sched_getscheduler.c \ |
| $(LOCAL_DIR)/src/sched/sched_rr_get_interval.c \ |
| $(LOCAL_DIR)/src/sched/sched_setparam.c \ |
| $(LOCAL_DIR)/src/sched/sched_setscheduler.c \ |
| $(LOCAL_DIR)/src/sched/sched_yield.c \ |
| $(LOCAL_DIR)/src/setjmp/longjmp.c \ |
| $(LOCAL_DIR)/src/setjmp/setjmp.c \ |
| $(LOCAL_DIR)/src/signal/getitimer.c \ |
| $(LOCAL_DIR)/src/signal/kill.c \ |
| $(LOCAL_DIR)/src/signal/killpg.c \ |
| $(LOCAL_DIR)/src/signal/psiginfo.c \ |
| $(LOCAL_DIR)/src/signal/psignal.c \ |
| $(LOCAL_DIR)/src/signal/raise.c \ |
| $(LOCAL_DIR)/src/signal/setitimer.c \ |
| $(LOCAL_DIR)/src/signal/sigaction.c \ |
| $(LOCAL_DIR)/src/signal/sigaddset.c \ |
| $(LOCAL_DIR)/src/signal/sigaltstack.c \ |
| $(LOCAL_DIR)/src/signal/sigandset.c \ |
| $(LOCAL_DIR)/src/signal/sigdelset.c \ |
| $(LOCAL_DIR)/src/signal/sigemptyset.c \ |
| $(LOCAL_DIR)/src/signal/sigfillset.c \ |
| $(LOCAL_DIR)/src/signal/siginterrupt.c \ |
| $(LOCAL_DIR)/src/signal/sigisemptyset.c \ |
| $(LOCAL_DIR)/src/signal/sigismember.c \ |
| $(LOCAL_DIR)/src/signal/signal.c \ |
| $(LOCAL_DIR)/src/signal/sigorset.c \ |
| $(LOCAL_DIR)/src/signal/sigpause.c \ |
| $(LOCAL_DIR)/src/signal/sigpending.c \ |
| $(LOCAL_DIR)/src/signal/sigprocmask.c \ |
| $(LOCAL_DIR)/src/signal/sigqueue.c \ |
| $(LOCAL_DIR)/src/signal/sigrtmax.c \ |
| $(LOCAL_DIR)/src/signal/sigrtmin.c \ |
| $(LOCAL_DIR)/src/signal/sigsuspend.c \ |
| $(LOCAL_DIR)/src/signal/sigtimedwait.c \ |
| $(LOCAL_DIR)/src/signal/sigwait.c \ |
| $(LOCAL_DIR)/src/signal/sigwaitinfo.c \ |
| $(LOCAL_DIR)/src/stat/futimesat.c \ |
| $(LOCAL_DIR)/src/stat/lchmod.c \ |
| $(LOCAL_DIR)/src/stat/mkfifoat.c \ |
| $(LOCAL_DIR)/src/stat/mknodat.c \ |
| $(LOCAL_DIR)/src/stat/statvfs.c \ |
| $(LOCAL_DIR)/src/stdio/__fclose_ca.c \ |
| $(LOCAL_DIR)/src/stdio/__fdopen.c \ |
| $(LOCAL_DIR)/src/stdio/__fmodeflags.c \ |
| $(LOCAL_DIR)/src/stdio/__fopen_rb_ca.c \ |
| $(LOCAL_DIR)/src/stdio/__lockfile.c \ |
| $(LOCAL_DIR)/src/stdio/__overflow.c \ |
| $(LOCAL_DIR)/src/stdio/__stdio_close.c \ |
| $(LOCAL_DIR)/src/stdio/__stdio_exit.c \ |
| $(LOCAL_DIR)/src/stdio/__stdio_read.c \ |
| $(LOCAL_DIR)/src/stdio/__stdio_seek.c \ |
| $(LOCAL_DIR)/src/stdio/__stdio_write.c \ |
| $(LOCAL_DIR)/src/stdio/__stdout_write.c \ |
| $(LOCAL_DIR)/src/stdio/__string_read.c \ |
| $(LOCAL_DIR)/src/stdio/__toread.c \ |
| $(LOCAL_DIR)/src/stdio/__towrite.c \ |
| $(LOCAL_DIR)/src/stdio/__uflow.c \ |
| $(LOCAL_DIR)/src/stdio/asprintf.c \ |
| $(LOCAL_DIR)/src/stdio/clearerr.c \ |
| $(LOCAL_DIR)/src/stdio/dprintf.c \ |
| $(LOCAL_DIR)/src/stdio/fclose.c \ |
| $(LOCAL_DIR)/src/stdio/feof.c \ |
| $(LOCAL_DIR)/src/stdio/ferror.c \ |
| $(LOCAL_DIR)/src/stdio/fflush.c \ |
| $(LOCAL_DIR)/src/stdio/fgetc.c \ |
| $(LOCAL_DIR)/src/stdio/fgetln.c \ |
| $(LOCAL_DIR)/src/stdio/fgetpos.c \ |
| $(LOCAL_DIR)/src/stdio/fgets.c \ |
| $(LOCAL_DIR)/src/stdio/fgetwc.c \ |
| $(LOCAL_DIR)/src/stdio/fgetws.c \ |
| $(LOCAL_DIR)/src/stdio/fileno.c \ |
| $(LOCAL_DIR)/src/stdio/flockfile.c \ |
| $(LOCAL_DIR)/src/stdio/fmemopen.c \ |
| $(LOCAL_DIR)/src/stdio/fopen.c \ |
| $(LOCAL_DIR)/src/stdio/fprintf.c \ |
| $(LOCAL_DIR)/src/stdio/fputc.c \ |
| $(LOCAL_DIR)/src/stdio/fputs.c \ |
| $(LOCAL_DIR)/src/stdio/fputwc.c \ |
| $(LOCAL_DIR)/src/stdio/fputws.c \ |
| $(LOCAL_DIR)/src/stdio/fread.c \ |
| $(LOCAL_DIR)/src/stdio/freopen.c \ |
| $(LOCAL_DIR)/src/stdio/fscanf.c \ |
| $(LOCAL_DIR)/src/stdio/fseek.c \ |
| $(LOCAL_DIR)/src/stdio/fsetpos.c \ |
| $(LOCAL_DIR)/src/stdio/ftell.c \ |
| $(LOCAL_DIR)/src/stdio/ftrylockfile.c \ |
| $(LOCAL_DIR)/src/stdio/funlockfile.c \ |
| $(LOCAL_DIR)/src/stdio/fwide.c \ |
| $(LOCAL_DIR)/src/stdio/fwprintf.c \ |
| $(LOCAL_DIR)/src/stdio/fwrite.c \ |
| $(LOCAL_DIR)/src/stdio/fwscanf.c \ |
| $(LOCAL_DIR)/src/stdio/getc.c \ |
| $(LOCAL_DIR)/src/stdio/getc_unlocked.c \ |
| $(LOCAL_DIR)/src/stdio/getchar.c \ |
| $(LOCAL_DIR)/src/stdio/getchar_unlocked.c \ |
| $(LOCAL_DIR)/src/stdio/getdelim.c \ |
| $(LOCAL_DIR)/src/stdio/getline.c \ |
| $(LOCAL_DIR)/src/stdio/gets.c \ |
| $(LOCAL_DIR)/src/stdio/getw.c \ |
| $(LOCAL_DIR)/src/stdio/getwc.c \ |
| $(LOCAL_DIR)/src/stdio/getwchar.c \ |
| $(LOCAL_DIR)/src/stdio/ofl.c \ |
| $(LOCAL_DIR)/src/stdio/ofl_add.c \ |
| $(LOCAL_DIR)/src/stdio/open_memstream.c \ |
| $(LOCAL_DIR)/src/stdio/open_wmemstream.c \ |
| $(LOCAL_DIR)/src/stdio/pclose.c \ |
| $(LOCAL_DIR)/src/stdio/perror.c \ |
| $(LOCAL_DIR)/src/stdio/popen.c \ |
| $(LOCAL_DIR)/src/stdio/printf.c \ |
| $(LOCAL_DIR)/src/stdio/putc.c \ |
| $(LOCAL_DIR)/src/stdio/putc_unlocked.c \ |
| $(LOCAL_DIR)/src/stdio/putchar.c \ |
| $(LOCAL_DIR)/src/stdio/putchar_unlocked.c \ |
| $(LOCAL_DIR)/src/stdio/puts.c \ |
| $(LOCAL_DIR)/src/stdio/putw.c \ |
| $(LOCAL_DIR)/src/stdio/putwc.c \ |
| $(LOCAL_DIR)/src/stdio/putwchar.c \ |
| $(LOCAL_DIR)/src/stdio/remove.c \ |
| $(LOCAL_DIR)/src/stdio/rewind.c \ |
| $(LOCAL_DIR)/src/stdio/scanf.c \ |
| $(LOCAL_DIR)/src/stdio/setbuf.c \ |
| $(LOCAL_DIR)/src/stdio/setbuffer.c \ |
| $(LOCAL_DIR)/src/stdio/setlinebuf.c \ |
| $(LOCAL_DIR)/src/stdio/setvbuf.c \ |
| $(LOCAL_DIR)/src/stdio/snprintf.c \ |
| $(LOCAL_DIR)/src/stdio/sprintf.c \ |
| $(LOCAL_DIR)/src/stdio/sscanf.c \ |
| $(LOCAL_DIR)/src/stdio/stderr.c \ |
| $(LOCAL_DIR)/src/stdio/stdin.c \ |
| $(LOCAL_DIR)/src/stdio/stdout.c \ |
| $(LOCAL_DIR)/src/stdio/swprintf.c \ |
| $(LOCAL_DIR)/src/stdio/swscanf.c \ |
| $(LOCAL_DIR)/src/stdio/tempnam.c \ |
| $(LOCAL_DIR)/src/stdio/tmpfile.c \ |
| $(LOCAL_DIR)/src/stdio/tmpnam.c \ |
| $(LOCAL_DIR)/src/stdio/ungetc.c \ |
| $(LOCAL_DIR)/src/stdio/ungetwc.c \ |
| $(LOCAL_DIR)/src/stdio/vasprintf.c \ |
| $(LOCAL_DIR)/src/stdio/vdprintf.c \ |
| $(LOCAL_DIR)/src/stdio/vfprintf.c \ |
| $(LOCAL_DIR)/src/stdio/vfscanf.c \ |
| $(LOCAL_DIR)/src/stdio/vfwprintf.c \ |
| $(LOCAL_DIR)/src/stdio/vfwscanf.c \ |
| $(LOCAL_DIR)/src/stdio/vprintf.c \ |
| $(LOCAL_DIR)/src/stdio/vscanf.c \ |
| $(LOCAL_DIR)/src/stdio/vsnprintf.c \ |
| $(LOCAL_DIR)/src/stdio/vsprintf.c \ |
| $(LOCAL_DIR)/src/stdio/vsscanf.c \ |
| $(LOCAL_DIR)/src/stdio/vswprintf.c \ |
| $(LOCAL_DIR)/src/stdio/vswscanf.c \ |
| $(LOCAL_DIR)/src/stdio/vwprintf.c \ |
| $(LOCAL_DIR)/src/stdio/vwscanf.c \ |
| $(LOCAL_DIR)/src/stdio/wprintf.c \ |
| $(LOCAL_DIR)/src/stdio/wscanf.c \ |
| $(LOCAL_DIR)/src/stdlib/abs.c \ |
| $(LOCAL_DIR)/src/stdlib/atof.c \ |
| $(LOCAL_DIR)/src/stdlib/atoi.c \ |
| $(LOCAL_DIR)/src/stdlib/atol.c \ |
| $(LOCAL_DIR)/src/stdlib/atoll.c \ |
| $(LOCAL_DIR)/src/stdlib/bsearch.c \ |
| $(LOCAL_DIR)/src/stdlib/div.c \ |
| $(LOCAL_DIR)/src/stdlib/ecvt.c \ |
| $(LOCAL_DIR)/src/stdlib/fcvt.c \ |
| $(LOCAL_DIR)/src/stdlib/gcvt.c \ |
| $(LOCAL_DIR)/src/stdlib/imaxabs.c \ |
| $(LOCAL_DIR)/src/stdlib/imaxdiv.c \ |
| $(LOCAL_DIR)/src/stdlib/labs.c \ |
| $(LOCAL_DIR)/src/stdlib/ldiv.c \ |
| $(LOCAL_DIR)/src/stdlib/llabs.c \ |
| $(LOCAL_DIR)/src/stdlib/lldiv.c \ |
| $(LOCAL_DIR)/src/stdlib/strtod.c \ |
| $(LOCAL_DIR)/src/stdlib/strtol.c \ |
| $(LOCAL_DIR)/src/stdlib/wcstod.c \ |
| $(LOCAL_DIR)/src/stdlib/wcstol.c \ |
| $(LOCAL_DIR)/src/temp/__randname.c \ |
| $(LOCAL_DIR)/src/temp/mkdtemp.c \ |
| $(LOCAL_DIR)/src/temp/mkostemp.c \ |
| $(LOCAL_DIR)/src/temp/mkostemps.c \ |
| $(LOCAL_DIR)/src/temp/mkstemp.c \ |
| $(LOCAL_DIR)/src/temp/mkstemps.c \ |
| $(LOCAL_DIR)/src/temp/mktemp.c \ |
| $(LOCAL_DIR)/src/termios/cfgetospeed.c \ |
| $(LOCAL_DIR)/src/termios/cfmakeraw.c \ |
| $(LOCAL_DIR)/src/termios/cfsetospeed.c \ |
| $(LOCAL_DIR)/src/termios/tcdrain.c \ |
| $(LOCAL_DIR)/src/termios/tcflow.c \ |
| $(LOCAL_DIR)/src/termios/tcflush.c \ |
| $(LOCAL_DIR)/src/termios/tcgetattr.c \ |
| $(LOCAL_DIR)/src/termios/tcgetsid.c \ |
| $(LOCAL_DIR)/src/termios/tcsendbreak.c \ |
| $(LOCAL_DIR)/src/termios/tcsetattr.c \ |
| $(LOCAL_DIR)/src/thread/__timedwait.c \ |
| $(LOCAL_DIR)/src/thread/__tls_get_addr.c \ |
| $(LOCAL_DIR)/src/thread/__wait.c \ |
| $(LOCAL_DIR)/src/thread/allocate.c \ |
| $(LOCAL_DIR)/src/thread/call_once.c \ |
| $(LOCAL_DIR)/src/thread/cnd_broadcast.c \ |
| $(LOCAL_DIR)/src/thread/cnd_destroy.c \ |
| $(LOCAL_DIR)/src/thread/cnd_init.c \ |
| $(LOCAL_DIR)/src/thread/cnd_signal.c \ |
| $(LOCAL_DIR)/src/thread/cnd_timedwait.c \ |
| $(LOCAL_DIR)/src/thread/cnd_wait.c \ |
| $(LOCAL_DIR)/src/thread/mtx_destroy.c \ |
| $(LOCAL_DIR)/src/thread/mtx_init.c \ |
| $(LOCAL_DIR)/src/thread/mtx_lock.c \ |
| $(LOCAL_DIR)/src/thread/mtx_timedlock.c \ |
| $(LOCAL_DIR)/src/thread/mtx_trylock.c \ |
| $(LOCAL_DIR)/src/thread/mtx_unlock.c \ |
| $(LOCAL_DIR)/src/thread/safestack.c \ |
| $(LOCAL_DIR)/src/thread/thrd_create.c \ |
| $(LOCAL_DIR)/src/thread/thrd_detach.c \ |
| $(LOCAL_DIR)/src/thread/thrd_exit.c \ |
| $(LOCAL_DIR)/src/thread/thrd_join.c \ |
| $(LOCAL_DIR)/src/thread/thrd_sleep.c \ |
| $(LOCAL_DIR)/src/thread/thrd_yield.c \ |
| $(LOCAL_DIR)/src/thread/tss.c \ |
| $(LOCAL_DIR)/src/thread/tss_set.c \ |
| $(LOCAL_DIR)/src/time/__asctime.c \ |
| $(LOCAL_DIR)/src/time/__map_file.c \ |
| $(LOCAL_DIR)/src/time/__month_to_secs.c \ |
| $(LOCAL_DIR)/src/time/__secs_to_tm.c \ |
| $(LOCAL_DIR)/src/time/__tm_to_secs.c \ |
| $(LOCAL_DIR)/src/time/__tz.c \ |
| $(LOCAL_DIR)/src/time/__year_to_secs.c \ |
| $(LOCAL_DIR)/src/time/asctime.c \ |
| $(LOCAL_DIR)/src/time/asctime_r.c \ |
| $(LOCAL_DIR)/src/time/clock.c \ |
| $(LOCAL_DIR)/src/time/clock_getcpuclockid.c \ |
| $(LOCAL_DIR)/src/time/clock_getres.c \ |
| $(LOCAL_DIR)/src/time/clock_gettime.c \ |
| $(LOCAL_DIR)/src/time/clock_nanosleep.c \ |
| $(LOCAL_DIR)/src/time/clock_settime.c \ |
| $(LOCAL_DIR)/src/time/ctime.c \ |
| $(LOCAL_DIR)/src/time/ctime_r.c \ |
| $(LOCAL_DIR)/src/time/difftime.c \ |
| $(LOCAL_DIR)/src/time/ftime.c \ |
| $(LOCAL_DIR)/src/time/getdate.c \ |
| $(LOCAL_DIR)/src/time/gettimeofday.c \ |
| $(LOCAL_DIR)/src/time/gmtime.c \ |
| $(LOCAL_DIR)/src/time/gmtime_r.c \ |
| $(LOCAL_DIR)/src/time/localtime.c \ |
| $(LOCAL_DIR)/src/time/localtime_r.c \ |
| $(LOCAL_DIR)/src/time/mktime.c \ |
| $(LOCAL_DIR)/src/time/nanosleep.c \ |
| $(LOCAL_DIR)/src/time/strftime.c \ |
| $(LOCAL_DIR)/src/time/strptime.c \ |
| $(LOCAL_DIR)/src/time/time.c \ |
| $(LOCAL_DIR)/src/time/timegm.c \ |
| $(LOCAL_DIR)/src/time/times.c \ |
| $(LOCAL_DIR)/src/time/timespec_get.c \ |
| $(LOCAL_DIR)/src/time/utime.c \ |
| $(LOCAL_DIR)/src/time/wcsftime.c \ |
| $(LOCAL_DIR)/src/unistd/_exit.c \ |
| $(LOCAL_DIR)/src/unistd/acct.c \ |
| $(LOCAL_DIR)/src/unistd/alarm.c \ |
| $(LOCAL_DIR)/src/unistd/ctermid.c \ |
| $(LOCAL_DIR)/src/unistd/gethostname.c \ |
| $(LOCAL_DIR)/src/unistd/getlogin.c \ |
| $(LOCAL_DIR)/src/unistd/getlogin_r.c \ |
| $(LOCAL_DIR)/src/unistd/pause.c \ |
| $(LOCAL_DIR)/src/unistd/posix_close.c \ |
| $(LOCAL_DIR)/src/unistd/setpgrp.c \ |
| $(LOCAL_DIR)/src/unistd/sleep.c \ |
| $(LOCAL_DIR)/src/unistd/tcgetpgrp.c \ |
| $(LOCAL_DIR)/src/unistd/tcsetpgrp.c \ |
| $(LOCAL_DIR)/src/unistd/ttyname.c \ |
| $(LOCAL_DIR)/src/unistd/ualarm.c \ |
| $(LOCAL_DIR)/src/unistd/usleep.c \ |
| $(LOCAL_DIR)/stubs/idstubs.c \ |
| $(LOCAL_DIR)/third_party/complex/__cexp.c \ |
| $(LOCAL_DIR)/third_party/complex/__cexpf.c \ |
| $(LOCAL_DIR)/third_party/complex/catan.c \ |
| $(LOCAL_DIR)/third_party/complex/catanf.c \ |
| $(LOCAL_DIR)/third_party/complex/catanl.c \ |
| $(LOCAL_DIR)/third_party/complex/ccosh.c \ |
| $(LOCAL_DIR)/third_party/complex/ccoshf.c \ |
| $(LOCAL_DIR)/third_party/complex/cexp.c \ |
| $(LOCAL_DIR)/third_party/complex/cexpf.c \ |
| $(LOCAL_DIR)/third_party/complex/csinh.c \ |
| $(LOCAL_DIR)/third_party/complex/csinhf.c \ |
| $(LOCAL_DIR)/third_party/complex/csqrt.c \ |
| $(LOCAL_DIR)/third_party/complex/csqrtf.c \ |
| $(LOCAL_DIR)/third_party/complex/ctanh.c \ |
| $(LOCAL_DIR)/third_party/complex/ctanhf.c \ |
| $(LOCAL_DIR)/third_party/math/__cos.c \ |
| $(LOCAL_DIR)/third_party/math/__cosdf.c \ |
| $(LOCAL_DIR)/third_party/math/__cosl.c \ |
| $(LOCAL_DIR)/third_party/math/__polevll.c \ |
| $(LOCAL_DIR)/third_party/math/__rem_pio2.c \ |
| $(LOCAL_DIR)/third_party/math/__rem_pio2_large.c \ |
| $(LOCAL_DIR)/third_party/math/__rem_pio2f.c \ |
| $(LOCAL_DIR)/third_party/math/__rem_pio2l.c \ |
| $(LOCAL_DIR)/third_party/math/__sin.c \ |
| $(LOCAL_DIR)/third_party/math/__sindf.c \ |
| $(LOCAL_DIR)/third_party/math/__sinl.c \ |
| $(LOCAL_DIR)/third_party/math/__tan.c \ |
| $(LOCAL_DIR)/third_party/math/__tandf.c \ |
| $(LOCAL_DIR)/third_party/math/__tanl.c \ |
| $(LOCAL_DIR)/third_party/math/acos.c \ |
| $(LOCAL_DIR)/third_party/math/acosf.c \ |
| $(LOCAL_DIR)/third_party/math/asin.c \ |
| $(LOCAL_DIR)/third_party/math/asinf.c \ |
| $(LOCAL_DIR)/third_party/math/atan.c \ |
| $(LOCAL_DIR)/third_party/math/atan2.c \ |
| $(LOCAL_DIR)/third_party/math/atan2f.c \ |
| $(LOCAL_DIR)/third_party/math/atanf.c \ |
| $(LOCAL_DIR)/third_party/math/cbrt.c \ |
| $(LOCAL_DIR)/third_party/math/cbrtf.c \ |
| $(LOCAL_DIR)/third_party/math/cbrtl.c \ |
| $(LOCAL_DIR)/third_party/math/cos.c \ |
| $(LOCAL_DIR)/third_party/math/cosf.c \ |
| $(LOCAL_DIR)/third_party/math/erf.c \ |
| $(LOCAL_DIR)/third_party/math/erff.c \ |
| $(LOCAL_DIR)/third_party/math/erfl.c \ |
| $(LOCAL_DIR)/third_party/math/exp.c \ |
| $(LOCAL_DIR)/third_party/math/exp2.c \ |
| $(LOCAL_DIR)/third_party/math/exp2f.c \ |
| $(LOCAL_DIR)/third_party/math/expf.c \ |
| $(LOCAL_DIR)/third_party/math/expm1.c \ |
| $(LOCAL_DIR)/third_party/math/expm1f.c \ |
| $(LOCAL_DIR)/third_party/math/fma.c \ |
| $(LOCAL_DIR)/third_party/math/fmaf.c \ |
| $(LOCAL_DIR)/third_party/math/fmal.c \ |
| $(LOCAL_DIR)/third_party/math/j0.c \ |
| $(LOCAL_DIR)/third_party/math/j0f.c \ |
| $(LOCAL_DIR)/third_party/math/j1.c \ |
| $(LOCAL_DIR)/third_party/math/j1f.c \ |
| $(LOCAL_DIR)/third_party/math/jn.c \ |
| $(LOCAL_DIR)/third_party/math/jnf.c \ |
| $(LOCAL_DIR)/third_party/math/lgamma_r.c \ |
| $(LOCAL_DIR)/third_party/math/lgammaf_r.c \ |
| $(LOCAL_DIR)/third_party/math/lgammal.c \ |
| $(LOCAL_DIR)/third_party/math/log.c \ |
| $(LOCAL_DIR)/third_party/math/log10.c \ |
| $(LOCAL_DIR)/third_party/math/log10f.c \ |
| $(LOCAL_DIR)/third_party/math/log1p.c \ |
| $(LOCAL_DIR)/third_party/math/log1pf.c \ |
| $(LOCAL_DIR)/third_party/math/log2.c \ |
| $(LOCAL_DIR)/third_party/math/log2f.c \ |
| $(LOCAL_DIR)/third_party/math/logf.c \ |
| $(LOCAL_DIR)/third_party/math/pow.c \ |
| $(LOCAL_DIR)/third_party/math/powf.c \ |
| $(LOCAL_DIR)/third_party/math/powl.c \ |
| $(LOCAL_DIR)/third_party/math/scalb.c \ |
| $(LOCAL_DIR)/third_party/math/scalbf.c \ |
| $(LOCAL_DIR)/third_party/math/sin.c \ |
| $(LOCAL_DIR)/third_party/math/sincos.c \ |
| $(LOCAL_DIR)/third_party/math/sincosf.c \ |
| $(LOCAL_DIR)/third_party/math/sinf.c \ |
| $(LOCAL_DIR)/third_party/math/tan.c \ |
| $(LOCAL_DIR)/third_party/math/tanf.c \ |
| $(LOCAL_DIR)/third_party/math/tgammal.c \ |
| $(LOCAL_DIR)/third_party/smoothsort/qsort.c \ |
| $(LOCAL_DIR)/third_party/tre/regcomp.c \ |
| $(LOCAL_DIR)/third_party/tre/regerror.c \ |
| $(LOCAL_DIR)/third_party/tre/regexec.c \ |
| $(LOCAL_DIR)/third_party/tre/tre-mem.c \ |
| $(LOCAL_DIR)/zircon/getentropy.c \ |
| $(LOCAL_DIR)/zircon/internal.c \ |
| $(LOCAL_DIR)/zircon/take_startup_handle.c \ |
| $(LOCAL_DIR)/zircon/thrd_get_zx_handle.c \ |
| |
| # These refer to access. |
| # $(LOCAL_DIR)/pthread/sem_open.c \ |
| # $(LOCAL_DIR)/src/legacy/ftw.c \ |
| # $(LOCAL_DIR)/src/misc/nftw.c \ |
| |
| # These refer to __crypt_*, __des_setkey, and __do_des, which we do not have. |
| # $(LOCAL_DIR)/src/crypt/crypt.c \ |
| # $(LOCAL_DIR)/src/crypt/crypt_r.c \ |
| # $(LOCAL_DIR)/src/crypt/encrypt.c \ |
| |
| ifeq ($(ARCH),arm64) |
| LOCAL_SRCS += \ |
| $(LOCAL_DIR)/src/fenv/aarch64/fenv.c \ |
| $(LOCAL_DIR)/src/ldso/aarch64/tlsdesc.S \ |
| $(LOCAL_DIR)/src/math/aarch64/fabs.S \ |
| $(LOCAL_DIR)/src/math/aarch64/fabsf.S \ |
| $(LOCAL_DIR)/src/math/aarch64/sqrt.S \ |
| $(LOCAL_DIR)/src/math/aarch64/sqrtf.S \ |
| $(LOCAL_DIR)/src/math/ceill.c \ |
| $(LOCAL_DIR)/src/math/fabsl.c \ |
| $(LOCAL_DIR)/src/math/floorl.c \ |
| $(LOCAL_DIR)/src/math/fmodl.c \ |
| $(LOCAL_DIR)/src/math/llrint.c \ |
| $(LOCAL_DIR)/src/math/llrintf.c \ |
| $(LOCAL_DIR)/src/math/llrintl.c \ |
| $(LOCAL_DIR)/src/math/lrint.c \ |
| $(LOCAL_DIR)/src/math/lrintf.c \ |
| $(LOCAL_DIR)/src/math/lrintl.c \ |
| $(LOCAL_DIR)/src/math/remainderl.c \ |
| $(LOCAL_DIR)/src/math/rintl.c \ |
| $(LOCAL_DIR)/src/math/sqrtl.c \ |
| $(LOCAL_DIR)/src/math/truncl.c \ |
| $(LOCAL_DIR)/src/setjmp/aarch64/longjmp.S \ |
| $(LOCAL_DIR)/src/setjmp/aarch64/setjmp.S \ |
| $(LOCAL_DIR)/third_party/math/acosl.c \ |
| $(LOCAL_DIR)/third_party/math/asinl.c \ |
| $(LOCAL_DIR)/third_party/math/atan2l.c \ |
| $(LOCAL_DIR)/third_party/math/atanl.c \ |
| $(LOCAL_DIR)/third_party/math/exp2l.c \ |
| $(LOCAL_DIR)/third_party/math/expl.c \ |
| $(LOCAL_DIR)/third_party/math/expm1l.c \ |
| $(LOCAL_DIR)/third_party/math/log10l.c \ |
| $(LOCAL_DIR)/third_party/math/log1pl.c \ |
| $(LOCAL_DIR)/third_party/math/log2l.c \ |
| $(LOCAL_DIR)/third_party/math/logl.c \ |
| |
| else ifeq ($(ARCH),x86) |
| LOCAL_SRCS += \ |
| $(LOCAL_DIR)/src/fenv/x86_64/fenv.c \ |
| $(LOCAL_DIR)/src/ldso/x86_64/tlsdesc.S \ |
| $(LOCAL_DIR)/src/math/x86_64/__invtrigl.S \ |
| $(LOCAL_DIR)/src/math/x86_64/acosl.S \ |
| $(LOCAL_DIR)/src/math/x86_64/asinl.S \ |
| $(LOCAL_DIR)/src/math/x86_64/atan2l.S \ |
| $(LOCAL_DIR)/src/math/x86_64/atanl.S \ |
| $(LOCAL_DIR)/src/math/x86_64/ceill.S \ |
| $(LOCAL_DIR)/src/math/x86_64/exp2l.S \ |
| $(LOCAL_DIR)/src/math/x86_64/expl.S \ |
| $(LOCAL_DIR)/src/math/x86_64/expm1l.S \ |
| $(LOCAL_DIR)/src/math/x86_64/fabs.S \ |
| $(LOCAL_DIR)/src/math/x86_64/fabsf.S \ |
| $(LOCAL_DIR)/src/math/x86_64/fabsl.S \ |
| $(LOCAL_DIR)/src/math/x86_64/floorl.S \ |
| $(LOCAL_DIR)/src/math/x86_64/fmodl.S \ |
| $(LOCAL_DIR)/src/math/x86_64/llrint.S \ |
| $(LOCAL_DIR)/src/math/x86_64/llrintf.S \ |
| $(LOCAL_DIR)/src/math/x86_64/llrintl.S \ |
| $(LOCAL_DIR)/src/math/x86_64/log10l.S \ |
| $(LOCAL_DIR)/src/math/x86_64/log1pl.S \ |
| $(LOCAL_DIR)/src/math/x86_64/log2l.S \ |
| $(LOCAL_DIR)/src/math/x86_64/logl.S \ |
| $(LOCAL_DIR)/src/math/x86_64/lrint.S \ |
| $(LOCAL_DIR)/src/math/x86_64/lrintf.S \ |
| $(LOCAL_DIR)/src/math/x86_64/lrintl.S \ |
| $(LOCAL_DIR)/src/math/x86_64/remainderl.S \ |
| $(LOCAL_DIR)/src/math/x86_64/rintl.S \ |
| $(LOCAL_DIR)/src/math/x86_64/sqrt.S \ |
| $(LOCAL_DIR)/src/math/x86_64/sqrtf.S \ |
| $(LOCAL_DIR)/src/math/x86_64/sqrtl.S \ |
| $(LOCAL_DIR)/src/math/x86_64/truncl.S \ |
| $(LOCAL_DIR)/src/setjmp/x86_64/longjmp.S \ |
| $(LOCAL_DIR)/src/setjmp/x86_64/setjmp.S \ |
| |
| else |
| error Unsupported architecture for musl build! |
| |
| endif |
| |
| # Include src/string sources |
| include $(LOCAL_DIR)/src/string/rules.mk |
| |
| # Include jemalloc for our malloc implementation |
| include $(LOCAL_DIR)/../jemalloc/rules.mk |
| |
| |
| # shared library (which is also the dynamic linker) |
| MODULE := system/ulib/c |
| MODULE_TYPE := userlib |
| MODULE_COMPILEFLAGS := $(LOCAL_COMPILEFLAGS) |
| MODULE_CFLAGS := $(LOCAL_CFLAGS) |
| MODULE_SRCS := $(LOCAL_SRCS) |
| |
| MODULE_LIBS := system/ulib/zircon |
| MODULE_STATIC_LIBS := \ |
| system/ulib/ldmsg \ |
| system/ulib/runtime \ |
| system/ulib/sync \ |
| |
| # At link time and in DT_SONAME, musl is known as libc.so. But the |
| # (only) place it needs to be installed at runtime is where the |
| # PT_INTERP strings embedded in executables point, which is ld.so.1. |
| MODULE_EXPORT := so |
| MODULE_SO_NAME := c |
| MODULE_SO_INSTALL_NAME := lib/$(USER_SHARED_INTERP) |
| |
| MODULE_SRCS += \ |
| $(LOCAL_DIR)/stubs/iostubs.c \ |
| $(LOCAL_DIR)/stubs/socketstubs.c \ |
| $(LOCAL_DIR)/arch/$(MUSL_ARCH)/dl-entry.S \ |
| $(LOCAL_DIR)/ldso/dlstart.c \ |
| $(LOCAL_DIR)/ldso/dynlink.c \ |
| $(LOCAL_DIR)/ldso/dynlink-sancov.S \ |
| |
| MODULE_SRCS += \ |
| $(LOCAL_DIR)/sanitizers/__asan_early_init.c \ |
| $(LOCAL_DIR)/sanitizers/asan-stubs.c \ |
| $(LOCAL_DIR)/sanitizers/hooks.c \ |
| $(LOCAL_DIR)/sanitizers/log.c \ |
| |
| # There is no '#if __has_feature(coverage)', so this file has to be |
| # excluded from the build entirely when not in use. |
| ifeq ($(call TOBOOL,$(USE_SANCOV)),true) |
| MODULE_SRCS += $(LOCAL_DIR)/sanitizers/sancov-stubs.S |
| endif |
| |
| include make/module.mk |
| |
| |
| # build a fake library to build crt1.o separately |
| |
| MODULE := system/ulib/c.crt |
| MODULE_TYPE := userlib |
| MODULE_COMPILEFLAGS := $(LOCAL_COMPILEFLAGS) |
| MODULE_CFLAGS := $(LOCAL_CFLAGS) |
| |
| MODULE_SRCS := $(LOCAL_DIR)/arch/$(MUSL_ARCH)/Scrt1.S |
| |
| # where our object files will end up |
| LOCAL_OUT := $(BUILDDIR)/system/ulib/c.crt/$(LOCAL_DIR) |
| LOCAL_SCRT1_OBJ := $(LOCAL_OUT)/arch/$(MUSL_ARCH)/Scrt1.S.o |
| |
| # install it globally |
| $(call copy-dst-src,$(USER_SCRT1_OBJ),$(LOCAL_SCRT1_OBJ)) |
| |
| include make/module.mk |