Skip to content

Commit 59d3071

Browse files
committed
Android support
1 parent f3acb6c commit 59d3071

File tree

4 files changed

+97
-10
lines changed

4 files changed

+97
-10
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ deps/
66
build/
77
bin/
88
lib/
9+
libs/
10+
obj/
911
*.pyc
1012
*.pyo
1113

jni/Android.mk

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
LOCAL_PATH := $(call my-dir)/..
2+
3+
include $(CLEAR_VARS)
4+
LOCAL_MODULE := cpuinfo
5+
LOCAL_SRC_FILES := $(LOCAL_PATH)/src/init.c \
6+
$(LOCAL_PATH)/src/cache.c \
7+
$(LOCAL_PATH)/src/log.c \
8+
$(LOCAL_PATH)/src/linux/cpuset.c
9+
ifeq ($(TARGET_ARCH_ABI),$(filter $(TARGET_ARCH_ABI),armeabi armeabi-v7a))
10+
LOCAL_SRC_FILES += \
11+
$(LOCAL_PATH)/src/arm/uarch.c \
12+
$(LOCAL_PATH)/src/arm/cache.c \
13+
$(LOCAL_PATH)/src/arm/linux/init.c \
14+
$(LOCAL_PATH)/src/arm/linux/cpuinfo.c
15+
ifeq ($(TARGET_ARCH_ABI),armeabi)
16+
LOCAL_SRC_FILES += $(LOCAL_PATH)/src/arm/linux/isa.c.arm
17+
else
18+
LOCAL_SRC_FILES += $(LOCAL_PATH)/src/arm/linux/isa.c
19+
endif # armeabi
20+
endif # armeabi or armeabi-v7a
21+
ifeq ($(TARGET_ARCH_ABI),$(filter $(TARGET_ARCH_ABI),x86 x86_64))
22+
LOCAL_SRC_FILES += \
23+
$(LOCAL_PATH)/src/x86/init.c \
24+
$(LOCAL_PATH)/src/x86/info.c \
25+
$(LOCAL_PATH)/src/x86/isa.c \
26+
$(LOCAL_PATH)/src/x86/vendor.c \
27+
$(LOCAL_PATH)/src/x86/uarch.c \
28+
$(LOCAL_PATH)/src/x86/topology.c \
29+
$(LOCAL_PATH)/src/x86/cache/init.c \
30+
$(LOCAL_PATH)/src/x86/cache/descriptor.c \
31+
$(LOCAL_PATH)/src/x86/cache/deterministic.c \
32+
$(LOCAL_PATH)/src/x86/linux/init.c
33+
endif # x86 or x86_64
34+
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
35+
LOCAL_C_INCLUDES := $(LOCAL_EXPORT_C_INCLUDES) $(LOCAL_PATH)/src
36+
LOCAL_CFLAGS := -std=gnu99 -D_GNU_SOURCE=1
37+
include $(BUILD_STATIC_LIBRARY)
38+
39+
include $(CLEAR_VARS)
40+
LOCAL_MODULE := cpu-info
41+
LOCAL_SRC_FILES := $(LOCAL_PATH)/tools/cpu-info.c
42+
LOCAL_STATIC_LIBRARIES := cpuinfo
43+
include $(BUILD_EXECUTABLE)
44+
45+
include $(CLEAR_VARS)
46+
LOCAL_MODULE := isa-info
47+
LOCAL_SRC_FILES := $(LOCAL_PATH)/tools/isa-info.c
48+
LOCAL_STATIC_LIBRARIES := cpuinfo
49+
include $(BUILD_EXECUTABLE)
50+
51+
include $(CLEAR_VARS)
52+
LOCAL_MODULE := cache-info
53+
LOCAL_SRC_FILES := $(LOCAL_PATH)/tools/cache-info.c
54+
LOCAL_STATIC_LIBRARIES := cpuinfo
55+
include $(BUILD_EXECUTABLE)

jni/Application.mk

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
APP_PLATFORM := android-21
2+
APP_PIE := true
3+
APP_STL := c++_static
4+
APP_ABI := armeabi armeabi-v7a x86 x86_64

src/log.c

+36-10
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,16 @@
99
va_list args;
1010
va_start(args, format);
1111

12-
dprintf(STDERR_FILENO, "Error: ");
13-
vdprintf(STDERR_FILENO, format, args);
14-
dprintf(STDERR_FILENO, "\n");
12+
#ifdef __ANDROID__
13+
fprintf(stderr, "Error: ");
14+
vfprintf(stderr, format, args);
15+
fprintf(stderr, "\n");
16+
fflush(stderr);
17+
#else
18+
dprintf(STDERR_FILENO, "Error: ");
19+
vdprintf(STDERR_FILENO, format, args);
20+
dprintf(STDERR_FILENO, "\n");
21+
#endif
1522

1623
va_end(args);
1724
}
@@ -22,9 +29,16 @@
2229
va_list args;
2330
va_start(args, format);
2431

25-
dprintf(STDERR_FILENO, "Warning: ");
26-
vdprintf(STDERR_FILENO, format, args);
27-
dprintf(STDERR_FILENO, "\n");
32+
#ifdef __ANDROID__
33+
fprintf(stderr, "Warning: ");
34+
vfprintf(stderr, format, args);
35+
fprintf(stderr, "\n");
36+
fflush(stderr);
37+
#else
38+
dprintf(STDERR_FILENO, "Warning: ");
39+
vdprintf(STDERR_FILENO, format, args);
40+
dprintf(STDERR_FILENO, "\n");
41+
#endif
2842

2943
va_end(args);
3044
}
@@ -35,8 +49,14 @@
3549
va_list args;
3650
va_start(args, format);
3751

38-
vdprintf(STDOUT_FILENO, format, args);
39-
dprintf(STDOUT_FILENO, "\n");
52+
#ifdef __ANDROID__
53+
vprintf(format, args);
54+
printf("\n");
55+
fflush(stdout);
56+
#else
57+
vdprintf(STDOUT_FILENO, format, args);
58+
dprintf(STDOUT_FILENO, "\n");
59+
#endif
4060

4161
va_end(args);
4262
}
@@ -47,8 +67,14 @@
4767
va_list args;
4868
va_start(args, format);
4969

50-
vdprintf(STDOUT_FILENO, format, args);
51-
dprintf(STDOUT_FILENO, "\n");
70+
#ifdef __ANDROID__
71+
vprintf(format, args);
72+
printf("\n");
73+
fflush(stdout);
74+
#else
75+
vdprintf(STDOUT_FILENO, format, args);
76+
dprintf(STDOUT_FILENO, "\n");
77+
#endif
5278

5379
va_end(args);
5480
}

0 commit comments

Comments
 (0)