summaryrefslogtreecommitdiff
path: root/arm-wt-22k/Android.bp
blob: c05443b378289ef86708ba0ff6e1c5ff7a2b149a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
package {
    default_applicable_licenses: ["external_sonivox_arm-wt-22k_license"],
}

// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
    name: "external_sonivox_arm-wt-22k_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
    ],
    license_text: [
        "NOTICE",
    ],
}

cc_defaults {
    name: "libsonivox-defaults",
    srcs: [
        "lib_src/eas_data.c",
        "lib_src/eas_dlssynth.c",
        "lib_src/eas_flog.c",
        "lib_src/eas_imelody.c",
        "lib_src/eas_imelodydata.c",
        "lib_src/eas_math.c",
        "lib_src/eas_mdls.c",
        "lib_src/eas_midi.c",
        "lib_src/eas_mididata.c",
        "lib_src/eas_mixbuf.c",
        "lib_src/eas_mixer.c",
        "lib_src/eas_ota.c",
        "lib_src/eas_otadata.c",
        "lib_src/eas_pan.c",
        "lib_src/eas_pcm.c",
        "lib_src/eas_pcmdata.c",
        "lib_src/eas_public.c",
        "lib_src/eas_reverb.c",
        "lib_src/eas_reverbdata.c",
        "lib_src/eas_rtttl.c",
        "lib_src/eas_rtttldata.c",
        "lib_src/eas_smf.c",
        "lib_src/eas_smfdata.c",
        "lib_src/eas_voicemgt.c",
        "lib_src/eas_wtengine.c",
        "lib_src/eas_wtsynth.c",
        "lib_src/eas_xmf.c",
        "lib_src/eas_xmfdata.c",
        "lib_src/wt_22khz.c",
        "host_src/eas_config.c",
        "host_src/eas_hostmm.c",
        "host_src/eas_report.c",
    ],

    cflags: [
        "-O2",
        "-DUNIFIED_DEBUG_MESSAGES",
        "-DEAS_WT_SYNTH",
        "-D_IMELODY_PARSER",
        "-D_RTTTL_PARSER",
        "-D_OTA_PARSER",
        "-D_XMF_PARSER",
        "-DNUM_OUTPUT_CHANNELS=2",
        "-D_SAMPLE_RATE_22050",
        "-DMAX_SYNTH_VOICES=64",
        "-D_16_BIT_SAMPLES",
        "-D_FILTER_ENABLED",
        "-DDLS_SYNTHESIZER",
        "-D_REVERB_ENABLED",

        "-Wno-unused-parameter",
        "-Werror",

        // not using these options
        // "-D_WAVE_PARSER",
        // "-D_IMA_DECODER", // (needed for IMA-ADPCM wave files)
        // "-D_CHORUS_ENABLED",
    ],

    local_include_dirs: [
        "host_src",
        "lib_src",
    ],
    export_include_dirs: ["include"],

    shared_libs: [
        "liblog",
    ],

    host_supported: true,

    target: {
        darwin: {
            enabled: false,
        },
    },

    arch: {
        arm: {
            instruction_set: "arm",

            srcs: [
                "lib_src/ARM-E_filter_gnu.s",
                //"lib_src/ARM-E_interpolate_loop_gnu.s",
                //"lib_src/ARM-E_interpolate_noloop_gnu.s",
                "lib_src/ARM-E_mastergain_gnu.s",
                //"lib_src/ARM-E_voice_gain_gnu.s",
            ],

            asflags: [
                // In order to use #include instead of .include
                "-xassembler-with-cpp",

                "-DSAMPLE_RATE_22050=1",
                "-DSTEREO_OUTPUT=1",
                "-DFILTER_ENABLED=1",
                "-DSAMPLES_16_BIT=1",
            ],

            cflags: [
                "-DNATIVE_EAS_KERNEL",
            ],
        },
    },
    sanitize: {
        cfi: true,
        misc_undefined: [
            "bounds",
            "unsigned-integer-overflow",
            "signed-integer-overflow",
        ],
    }
}

cc_library {
    name: "libsonivoxwithoutjet",
    defaults: ["libsonivox-defaults"],
    apex_available: [
        "//apex_available:platform",
        "com.android.media",
    ],
    min_sdk_version: "29",
}

cc_library {
    name: "libsonivox",
    defaults: ["libsonivox-defaults"],
    srcs: [
        "lib_src/jet.c",
    ],

    cflags: [
        "-DJET_INTERFACE",
    ],
}