pmt: ndk build fixes

This commit is contained in:
2024-12-14 17:27:35 +03:00
parent cafcf8d253
commit 3059e42142
6 changed files with 55 additions and 56 deletions

View File

@@ -1,5 +1,5 @@
export PMT_VERSION="3.0.2" export PMT_VERSION="3.0.2"
export PMT_VERSION_CODE=302 export PMT_VERSION_CODE=302
export NDK_VERSION="r27c" export NDK_VERSION="r27"
export NDK_IS="android-ndk" export NDK_IS="android-ndk"
export NDK_LINK="https://dl.google.com/android/repository/android-ndk-${NDK_VERSION}-linux.zip" export NDK_LINK="https://dl.google.com/android/repository/android-ndk-${NDK_VERSION}-linux.zip"

6
include/libgnulib/Makefile Executable file
View File

@@ -0,0 +1,6 @@
# Run "make check" to ensure that the code passes some simple tests,
# usually (always?) not involving compilation.
all:
check:
./t-idcache

42
include/stdckdint.h Executable file
View File

@@ -0,0 +1,42 @@
/*===---- stdckdint.h - Standard header for checking integer----------------===
*
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
* See https://llvm.org/LICENSE.txt for license information.
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
*
*===-----------------------------------------------------------------------===
*/
#ifndef __STDCKDINT_H
#define __STDCKDINT_H
/* If we're hosted, fall back to the system's stdckdint.h. FreeBSD, for
* example, already has a Clang-compatible stdckdint.h header.
*
* The `stdckdint.h` header requires C 23 or newer.
*/
#if __STDC_HOSTED__ && __has_include_next(<stdckdint.h>)
#include_next <stdckdint.h>
#else
/* C23 7.20.1 Defines several macros for performing checked integer arithmetic*/
#define __STDC_VERSION_STDCKDINT_H__ 202311L
// Both A and B shall be any integer type other than "plain" char, bool, a bit-
// precise integer type, or an enumerated type, and they need not be the same.
// R shall be a modifiable lvalue of any integer type other than "plain" char,
// bool, a bit-precise integer type, or an enumerated type. It shouldn't be
// short type, either. Otherwise, it may be unable to hold two the result of
// operating two 'int's.
// A diagnostic message will be produced if A or B are not suitable integer
// types, or if R is not a modifiable lvalue of a suitable integer type or R
// is short type.
#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R))
#define ckd_sub(R, A, B) __builtin_sub_overflow((A), (B), (R))
#define ckd_mul(R, A, B) __builtin_mul_overflow((A), (B), (R))
#endif /* __STDC_HOSTED__ */
#endif /* __STDCKDINT_H */

View File

@@ -26,13 +26,13 @@ PMT_CXXFLAGS = \
-O3 \ -O3 \
-Wall \ -Wall \
-Wextra \ -Wextra \
-std=c++17 \
-Wno-vla-cxx-extension \ -Wno-vla-cxx-extension \
-Wno-nullability-completeness \ -Wno-nullability-completeness \
-Wno-writable-strings \ -Wno-writable-strings \
-Wno-nullability-extension \ -Wno-nullability-extension \
-Wno-reorder-init-list \ -Wno-reorder-init-list \
-Wno-gnu-zero-variadic-macro-arguments \ -Wno-gnu-zero-variadic-macro-arguments \
-Wno-unused-parameter \
-static \ -static \
$(PMT_EXTRA_CXXFLAGS) $(PMT_EXTRA_CXXFLAGS)
E2FSPROGS_DEFAULT_CFLAGS = \ E2FSPROGS_DEFAULT_CFLAGS = \
@@ -60,16 +60,16 @@ ifneq ($(PMT_ENABLE_DEBUG),)
PMT_CXXFLAGS += -gdwarf-5 -fsanitize=address PMT_CXXFLAGS += -gdwarf-5 -fsanitize=address
endif endif
PMT := PartitionManager PMT := $(LOCAL_PATH)/PartitionManager
PARTED := parted PARTED := $(LOCAL_PATH)/parted
PARTED_SRCDIR := $(PARTED)/parted PARTED_SRCDIR := $(PARTED)/parted
MKE2FS := e2fsprogs/mke2fs MKE2FS := $(LOCAL_PATH)/e2fsprogs/mke2fs
LIBGNULIB := $(PARTED)/libgnulib LIBGNULIB := $(PARTED)/libgnulib
LIBCHARSET := $(PARTED)/libcharset LIBCHARSET := $(PARTED)/libcharset
LIBICRT := $(PARTED)/libiconv/icrt LIBICRT := $(PARTED)/libiconv/icrt
LIBICONV := $(PARTED)/libiconv LIBICONV := $(PARTED)/libiconv
LIBPARTED := $(PARTED)/libparted LIBPARTED := $(PARTED)/libparted
LIB := e2fsprogs/lib LIB := $(LOCAL_PATH)/e2fsprogs/lib
LIBEXT2FS := $(LIB)/ext2fs LIBEXT2FS := $(LIB)/ext2fs
LIBEXT2_UUID := $(LIB)/uuid LIBEXT2_UUID := $(LIB)/uuid
LIBEXT2_E2P := $(LIB)/e2p LIBEXT2_E2P := $(LIB)/e2p

View File

@@ -23,7 +23,7 @@ APP_ABI := \
arm64-v8a \ arm64-v8a \
armeabi-v7a armeabi-v7a
APP_PLATFORM := android-21 APP_PLATFORM := android-24
APP_OPTIM := release APP_OPTIM := release
APP_STL := c++_static APP_STL := c++_static

View File

@@ -1,49 +0,0 @@
# By YZBruh
# Copyright 2024 Partition Manager
#
# 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.
########
# 3.0.2
########
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libicrt
LOCAL_SRC_FILES := \
$(LOCAL_PATH)/allocator.c \
$(LOCAL_PATH)/areadlink.c \
$(LOCAL_PATH)/binary-io.c \
$(LOCAL_PATH)/careadlinkat.c \
$(LOCAL_PATH)/fd-hook.c \
$(LOCAL_PATH)/getprogname.c \
$(LOCAL_PATH)/unistd.c \
$(LOCAL_PATH)/xreadlink.c
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/../lib \
$(LOCAL_PATH)/../srclib
LOCAL_CFLAGS := \
-Wall \
-Wextra \
-Wno-sign-compare \
-Wno-unused-const-variable \
-Wno-unused-parameter \
-Wno-unused-function \
-Wno-unused-but-set-variable \
-Wno-missing-field-initializers \
-fPIC
include $(BUILD_STATIC_LIBRARY)