diff options
-rw-r--r-- | cm.mk | 4 | ||||
-rw-r--r-- | device.mk | 10 | ||||
-rw-r--r-- | libsamsung_symbols/Android.mk | 25 | ||||
-rw-r--r-- | libsamsung_symbols/samsung_ril.cpp | 21 | ||||
-rw-r--r-- | libsecril-compat/Android.mk | 17 | ||||
-rw-r--r-- | libsecril-compat/secril-compat.c | 13 |
6 files changed, 37 insertions, 53 deletions
@@ -30,3 +30,7 @@ $(call inherit-product, device/samsung/espresso3g/aosp_espresso3g.mk) # Device identifier. This must come after all inclusions PRODUCT_NAME := cm_espresso3g + +# Packages +PRODUCT_PACKAGES += \ + SamsungServiceMode @@ -26,19 +26,15 @@ PRODUCT_COPY_FILES += \ device/samsung/espresso3g/audio/tiny_hw_espresso.xml:system/etc/sound/espresso \ device/samsung/espresso3g/audio/tiny_hw_espresso10.xml:system/etc/sound/espresso10 -# Packages +# RIL PRODUCT_PACKAGES += \ - SamsungServiceMode + libsecril-client \ + libsecril-compat -# RIL PRODUCT_PROPERTY_OVERRIDES += \ mobiledata.interfaces=pdp0,wlan0,gprs,ppp0 \ ro.telephony.ril_class=SamsungOmap4RIL -PRODUCT_PACKAGES += \ - libsamsung_symbols \ - libsecril-client - # These are the hardware-specific features PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \ diff --git a/libsamsung_symbols/Android.mk b/libsamsung_symbols/Android.mk deleted file mode 100644 index 698b1e2..0000000 --- a/libsamsung_symbols/Android.mk +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright (C) 2015 The CyanogenMod Project -# -# 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. - -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - samsung_ril.cpp - -LOCAL_SHARED_LIBRARIES := libbinder -LOCAL_MODULE := libsamsung_symbols -LOCAL_MODULE_CLASS := SHARED_LIBRARIES - -include $(BUILD_SHARED_LIBRARY) diff --git a/libsamsung_symbols/samsung_ril.cpp b/libsamsung_symbols/samsung_ril.cpp deleted file mode 100644 index 404616d..0000000 --- a/libsamsung_symbols/samsung_ril.cpp +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (C) 2015 The CyanogenMod Project - * - * 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. - */ - -/* status_t Parcel::writeString16 */ -extern "C" int _ZN7android6Parcel13writeString16EPKDsj(); -extern "C" int _ZN7android6Parcel13writeString16EPKtj() { - return _ZN7android6Parcel13writeString16EPKDsj(); -} diff --git a/libsecril-compat/Android.mk b/libsecril-compat/Android.mk new file mode 100644 index 0000000..ee6c91b --- /dev/null +++ b/libsecril-compat/Android.mk @@ -0,0 +1,17 @@ +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := \ + secril-compat.c + +LOCAL_SHARED_LIBRARIES := \ + libhardware_legacy \ + libbinder + +LOCAL_CFLAGS := -Wall -Werror + +LOCAL_MODULE := libsecril-compat + +include $(BUILD_SHARED_LIBRARY) diff --git a/libsecril-compat/secril-compat.c b/libsecril-compat/secril-compat.c new file mode 100644 index 0000000..fc11450 --- /dev/null +++ b/libsecril-compat/secril-compat.c @@ -0,0 +1,13 @@ +#include <sys/types.h> + +/** + * With the switch to C++11 by default, char16_t became a unique type, + * rather than basically just a typedef of uint16_t. As a result, the + * compiler now mangles the symbol for writeString16 differently. Our + * RIL references the old symbol of course, not the new one. + */ +uintptr_t _ZN7android6Parcel13writeString16EPKDsj(void *instance, void *str, size_t len); +uintptr_t _ZN7android6Parcel13writeString16EPKtj(void *instance, void *str, size_t len) +{ + return _ZN7android6Parcel13writeString16EPKDsj(instance, str, len); +} |