# Copyright 2021 The Cobalt Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

if (target_cpu == "x64") {
  musl_arch = "x86_64"
} else if (target_cpu == "x86") {
  musl_arch = "i386"
} else if (target_cpu == "arm") {
  musl_arch = "arm"
} else if (target_cpu == "arm64") {
  musl_arch = "aarch64"
} else if (target_cpu == "mips") {
  musl_arch = "mips"
}

config("external_settings") {
  include_dirs = [
    "musl/include",
    "arch/$musl_arch",
    "arch/generic",
  ]
}

group("c") {
  public_configs = [ ":external_settings" ]
  deps = [ ":c_internal" ]
}

static_library("c_internal") {
  # External targets must depend on the group so that they get the
  # "external_settings" config applied.
  visibility = [ ":c" ]

  include_dirs = [
    "src/starboard/internal",
    "src/errno",
    "src/multibyte",
    "src/time",
    "src/internal",
    "arch/$musl_arch",
  ]

  cflags = [
    "-nobuiltininc",
    "-isystem" + rebase_path("include", root_build_dir),
    "-isystem" + rebase_path("arch/$musl_arch", root_build_dir),
    "-isystem" + rebase_path("arch/generic", root_build_dir),
    "-w",
  ]

  # Enables temporary situation where main cobalt is built with glibc headers
  # but then linked with some musl components. Expected to go away when main
  # cobalt is also build with stand-alone libc++.
  defines = [ "COBALT_MUSL_W_GLIBC_HEADERS" ]

  sources = [
    "src/ctype/__ctype_b_loc.c",

    # Excluded because locale_impl needs mutexs
    # "src/ctype/__ctype_get_mb_cur_max.c",
    "src/ctype/__ctype_tolower_loc.c",
    "src/ctype/__ctype_toupper_loc.c",
    "src/ctype/isalnum.c",
    "src/ctype/isalpha.c",
    "src/ctype/isascii.c",
    "src/ctype/isblank.c",
    "src/ctype/iscntrl.c",
    "src/ctype/isdigit.c",
    "src/ctype/isgraph.c",
    "src/ctype/islower.c",
    "src/ctype/isprint.c",
    "src/ctype/ispunct.c",
    "src/ctype/isspace.c",
    "src/ctype/isupper.c",
    "src/ctype/iswalnum.c",
    "src/ctype/iswalpha.c",
    "src/ctype/iswblank.c",
    "src/ctype/iswcntrl.c",
    "src/ctype/iswctype.c",
    "src/ctype/iswdigit.c",
    "src/ctype/iswgraph.c",
    "src/ctype/iswlower.c",
    "src/ctype/iswprint.c",
    "src/ctype/iswpunct.c",
    "src/ctype/iswspace.c",
    "src/ctype/iswupper.c",
    "src/ctype/iswxdigit.c",
    "src/ctype/isxdigit.c",
    "src/ctype/tolower.c",
    "src/ctype/toupper.c",
    "src/ctype/towctrans.c",
    "src/ctype/wcswidth.c",
    "src/ctype/wctrans.c",
    "src/ctype/wcwidth.c",
    "src/errno/strerror.c",
    "src/exit/assert.c",
    "src/exit/atexit.c",
    "src/exit/exit.c",
    "src/fenv/__flt_rounds.c",
    "src/fenv/fegetexceptflag.c",
    "src/fenv/feholdexcept.c",
    "src/fenv/fesetexceptflag.c",
    "src/fenv/fesetround.c",
    "src/fenv/feupdateenv.c",
    "src/internal/floatscan.c",
    "src/internal/intscan.c",
    "src/internal/shgetc.c",
    "src/locale/strcoll.c",
    "src/locale/strxfrm.c",
    "src/locale/wcscoll.c",
    "src/locale/wcsxfrm.c",
    "src/math/__cos.c",
    "src/math/__cosdf.c",
    "src/math/__cosl.c",
    "src/math/__expo2.c",
    "src/math/__expo2f.c",
    "src/math/__fpclassify.c",
    "src/math/__fpclassifyf.c",
    "src/math/__fpclassifyl.c",
    "src/math/__invtrigl.c",
    "src/math/__polevll.c",
    "src/math/__rem_pio2.c",
    "src/math/__rem_pio2_large.c",
    "src/math/__rem_pio2f.c",
    "src/math/__rem_pio2l.c",
    "src/math/__signbit.c",
    "src/math/__signbitf.c",
    "src/math/__signbitl.c",
    "src/math/__sin.c",
    "src/math/__sindf.c",
    "src/math/__sinl.c",
    "src/math/__tan.c",
    "src/math/__tandf.c",
    "src/math/__tanl.c",
    "src/math/acos.c",
    "src/math/acosf.c",
    "src/math/acosh.c",
    "src/math/acoshf.c",
    "src/math/acoshl.c",
    "src/math/acosl.c",
    "src/math/asin.c",
    "src/math/asinf.c",
    "src/math/asinh.c",
    "src/math/asinhf.c",
    "src/math/asinhl.c",
    "src/math/asinl.c",
    "src/math/atan.c",
    "src/math/atan2.c",
    "src/math/atan2f.c",
    "src/math/atan2l.c",
    "src/math/atanf.c",
    "src/math/atanh.c",
    "src/math/atanhf.c",
    "src/math/atanhl.c",
    "src/math/atanl.c",
    "src/math/cbrt.c",
    "src/math/cbrtf.c",
    "src/math/cbrtl.c",
    "src/math/ceil.c",
    "src/math/ceilf.c",
    "src/math/ceill.c",
    "src/math/copysign.c",
    "src/math/copysignf.c",
    "src/math/copysignl.c",
    "src/math/cos.c",
    "src/math/cosf.c",
    "src/math/cosh.c",
    "src/math/coshf.c",
    "src/math/coshl.c",
    "src/math/cosl.c",
    "src/math/erf.c",
    "src/math/erff.c",
    "src/math/erfl.c",
    "src/math/exp.c",
    "src/math/exp10.c",
    "src/math/exp10f.c",
    "src/math/exp10l.c",
    "src/math/exp2.c",
    "src/math/exp2f.c",
    "src/math/exp2l.c",
    "src/math/expf.c",
    "src/math/expl.c",
    "src/math/expm1.c",
    "src/math/expm1f.c",
    "src/math/expm1l.c",
    "src/math/fabs.c",
    "src/math/fabsf.c",
    "src/math/fabsl.c",
    "src/math/fdim.c",
    "src/math/fdimf.c",
    "src/math/fdiml.c",
    "src/math/finite.c",
    "src/math/finitef.c",
    "src/math/floor.c",
    "src/math/floorf.c",
    "src/math/floorl.c",
    "src/math/fma.c",
    "src/math/fmaf.c",
    "src/math/fmal.c",
    "src/math/fmax.c",
    "src/math/fmaxf.c",
    "src/math/fmaxl.c",
    "src/math/fmin.c",
    "src/math/fminf.c",
    "src/math/fminl.c",
    "src/math/fmod.c",
    "src/math/fmodf.c",
    "src/math/fmodl.c",
    "src/math/frexp.c",
    "src/math/frexpf.c",
    "src/math/frexpl.c",
    "src/math/hypot.c",
    "src/math/hypotf.c",
    "src/math/hypotl.c",
    "src/math/ilogb.c",
    "src/math/ilogbf.c",
    "src/math/ilogbl.c",
    "src/math/j0.c",
    "src/math/j0f.c",
    "src/math/j1.c",
    "src/math/j1f.c",
    "src/math/jn.c",
    "src/math/jnf.c",
    "src/math/ldexp.c",
    "src/math/ldexpf.c",
    "src/math/ldexpl.c",
    "src/math/lgamma.c",
    "src/math/lgamma_r.c",
    "src/math/lgammaf.c",
    "src/math/lgammaf_r.c",
    "src/math/lgammal.c",
    "src/math/llrint.c",
    "src/math/llrintf.c",
    "src/math/llrintl.c",
    "src/math/llround.c",
    "src/math/llroundf.c",
    "src/math/llroundl.c",
    "src/math/log.c",
    "src/math/log10.c",
    "src/math/log10f.c",
    "src/math/log10l.c",
    "src/math/log1p.c",
    "src/math/log1pf.c",
    "src/math/log1pl.c",
    "src/math/log2.c",
    "src/math/log2f.c",
    "src/math/log2l.c",
    "src/math/logb.c",
    "src/math/logbf.c",
    "src/math/logbl.c",
    "src/math/logf.c",
    "src/math/logl.c",
    "src/math/lrint.c",
    "src/math/lrintf.c",
    "src/math/lrintl.c",
    "src/math/lround.c",
    "src/math/lroundf.c",
    "src/math/lroundl.c",
    "src/math/modf.c",
    "src/math/modff.c",
    "src/math/modfl.c",
    "src/math/nan.c",
    "src/math/nanf.c",
    "src/math/nanl.c",
    "src/math/nearbyint.c",
    "src/math/nearbyintf.c",
    "src/math/nearbyintl.c",
    "src/math/nextafter.c",
    "src/math/nextafterf.c",
    "src/math/nextafterl.c",
    "src/math/nexttoward.c",
    "src/math/nexttowardf.c",
    "src/math/nexttowardl.c",
    "src/math/pow.c",
    "src/math/powf.c",
    "src/math/powl.c",
    "src/math/remainder.c",
    "src/math/remainderf.c",
    "src/math/remainderl.c",
    "src/math/remquo.c",
    "src/math/remquof.c",
    "src/math/remquol.c",
    "src/math/rint.c",
    "src/math/rintf.c",
    "src/math/rintl.c",
    "src/math/round.c",
    "src/math/roundf.c",
    "src/math/roundl.c",
    "src/math/scalb.c",
    "src/math/scalbf.c",
    "src/math/scalbln.c",
    "src/math/scalblnf.c",
    "src/math/scalblnl.c",
    "src/math/scalbn.c",
    "src/math/scalbnf.c",
    "src/math/scalbnl.c",
    "src/math/signgam.c",
    "src/math/significand.c",
    "src/math/significandf.c",
    "src/math/sin.c",
    "src/math/sincos.c",
    "src/math/sincosf.c",
    "src/math/sincosl.c",
    "src/math/sinf.c",
    "src/math/sinh.c",
    "src/math/sinhf.c",
    "src/math/sinhl.c",
    "src/math/sinl.c",
    "src/math/sqrt.c",
    "src/math/sqrtf.c",
    "src/math/sqrtl.c",
    "src/math/tan.c",
    "src/math/tanf.c",
    "src/math/tanh.c",
    "src/math/tanhf.c",
    "src/math/tanhl.c",
    "src/math/tanl.c",
    "src/math/tgamma.c",
    "src/math/tgammaf.c",
    "src/math/tgammal.c",
    "src/math/trunc.c",
    "src/math/truncf.c",
    "src/math/truncl.c",
    "src/multibyte/btowc.c",
    "src/multibyte/internal.c",
    "src/multibyte/mbrlen.c",
    "src/multibyte/mbrtowc.c",
    "src/multibyte/mbsnrtowcs.c",
    "src/multibyte/mbsrtowcs.c",
    "src/multibyte/mbtowc.c",
    "src/multibyte/wcrtomb.c",
    "src/multibyte/wcsnrtombs.c",
    "src/multibyte/wcsrtombs.c",
    "src/multibyte/wcstombs.c",
    "src/multibyte/wctob.c",
    "src/prng/rand.c",

    # Starboardized implementations
    "src/starboard/ctype/__ctype_get_mb_cur_max.c",
    "src/starboard/errno/__errno_location.c",
    "src/starboard/exit/abort.c",
    "src/starboard/hwcap/sethwcap.c",
    "src/starboard/locale/freelocale.c",
    "src/starboard/locale/langinfo.c",
    "src/starboard/locale/localeconv.c",
    "src/starboard/locale/newlocale.c",
    "src/starboard/locale/setlocale.c",
    "src/starboard/locale/uselocale.c",
    "src/starboard/malloc/malloc.c",
    "src/starboard/malloc/memalign.c",
    "src/starboard/malloc/posix_memalign.c",
    "src/starboard/stdio/fflush.c",
    "src/starboard/stdio/fputc.c",
    "src/starboard/stdio/stderr.c",
    "src/starboard/stdio/stdout.c",
    "src/starboard/stdio/vfprintf.c",
    "src/starboard/stdio/vsnprintf.c",
    "src/starboard/stdio/vsscanf.c",
    "src/starboard/stdio/vswprintf.c",
    "src/starboard/stdlib/strtod_l.c",
    "src/starboard/time/__tz.c",
    "src/starboard/time/clock_gettime.c",
    "src/stdio/__toread.c",
    "src/stdio/__uflow.c",
    "src/stdio/fprintf.c",
    "src/stdio/fwrite.c",
    "src/stdio/printf.c",
    "src/stdio/snprintf.c",
    "src/stdio/sscanf.c",
    "src/stdio/swprintf.c",
    "src/stdio/vasprintf.c",
    "src/stdio/vprintf.c",
    "src/stdio/vsprintf.c",
    "src/stdlib/abs.c",
    "src/stdlib/atof.c",
    "src/stdlib/atoi.c",
    "src/stdlib/atol.c",
    "src/stdlib/bsearch.c",
    "src/stdlib/div.c",
    "src/stdlib/labs.c",
    "src/stdlib/llabs.c",
    "src/stdlib/qsort.c",
    "src/stdlib/strtod.c",
    "src/stdlib/strtol.c",
    "src/stdlib/wcstod.c",
    "src/stdlib/wcstol.c",
    "src/string/bcmp.c",
    "src/string/bcopy.c",
    "src/string/bzero.c",
    "src/string/explicit_bzero.c",
    "src/string/index.c",
    "src/string/memccpy.c",
    "src/string/memchr.c",
    "src/string/memcmp.c",
    "src/string/memcpy.c",
    "src/string/memmem.c",
    "src/string/memmove.c",
    "src/string/mempcpy.c",
    "src/string/memrchr.c",
    "src/string/memset.c",
    "src/string/rindex.c",
    "src/string/stpcpy.c",
    "src/string/stpncpy.c",
    "src/string/strcat.c",
    "src/string/strchr.c",
    "src/string/strchrnul.c",
    "src/string/strcmp.c",
    "src/string/strcpy.c",
    "src/string/strcspn.c",
    "src/string/strerror_r.c",
    "src/string/strlcat.c",
    "src/string/strlcpy.c",
    "src/string/strlen.c",
    "src/string/strncat.c",
    "src/string/strncmp.c",
    "src/string/strncpy.c",
    "src/string/strnlen.c",
    "src/string/strpbrk.c",
    "src/string/strrchr.c",
    "src/string/strsep.c",
    "src/string/strspn.c",
    "src/string/strstr.c",
    "src/string/strtok.c",
    "src/string/strtok_r.c",
    "src/string/strverscmp.c",
    "src/string/swab.c",
    "src/string/wcpcpy.c",
    "src/string/wcpncpy.c",
    "src/string/wcscat.c",
    "src/string/wcschr.c",
    "src/string/wcscmp.c",
    "src/string/wcscpy.c",
    "src/string/wcscspn.c",
    "src/string/wcslen.c",
    "src/string/wcsncat.c",
    "src/string/wcsncmp.c",
    "src/string/wcsncpy.c",
    "src/string/wcsnlen.c",
    "src/string/wcspbrk.c",
    "src/string/wcsrchr.c",
    "src/string/wcsspn.c",
    "src/string/wcsstr.c",
    "src/string/wcstok.c",
    "src/string/wcswcs.c",
    "src/string/wmemchr.c",
    "src/string/wmemcmp.c",
    "src/string/wmemcpy.c",
    "src/string/wmemmove.c",
    "src/string/wmemset.c",
    "src/time/__month_to_secs.c",
    "src/time/__tm_to_secs.c",
    "src/time/__year_to_secs.c",
    "src/time/strftime.c",
  ]

  if (musl_arch == "i386" || musl_arch == "x86_64" || musl_arch == "aarch64") {
    sources += [
      "src/fenv/$musl_arch/fenv.s",
      "src/setjmp/$musl_arch/longjmp.s",
      "src/setjmp/$musl_arch/setjmp.s",
    ]
  }
  if (musl_arch == "arm") {
    sources += [
      "src/fenv/$musl_arch/fenv-hf.S",
      "src/fenv/$musl_arch/fenv.c",
      "src/setjmp/$musl_arch/longjmp.s",
      "src/setjmp/$musl_arch/setjmp.s",
    ]
  }
  if (musl_arch == "mips") {
    sources += [
      "src/fenv/$musl_arch/fenv-sf.c",
      "src/fenv/$musl_arch/fenv.S",
      "src/setjmp/$musl_arch/longjmp.S",
      "src/setjmp/$musl_arch/setjmp.S",
    ]
  }
  if (musl_arch == "i386" || musl_arch == "x86_64") {
    sources += [
      "src/string/$musl_arch/memcpy.s",
      "src/string/$musl_arch/memmove.s",
      "src/string/$musl_arch/memset.s",
    ]
    sources -= [
      "src/string/memcpy.c",
      "src/string/memmove.c",
      "src/string/memset.c",
    ]
  }
}

target(gtest_target_type, "musl_unittests") {
  testonly = true
  sources = [ "test/type_size_test.cc" ]
  deps = [
    ":c",
    "//starboard:starboard_headers_only",
  ]
}
