Skip to content

Commit aae1ec5

Browse files
committed
add win64
1 parent 6df491c commit aae1ec5

48 files changed

Lines changed: 1233 additions & 723 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ lib/libscm
1818
*.txt
1919
*.o
2020
*.dll
21+
*._*

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ OS_NAME :=$(shell echo $(UNAME_S)| tr '[A-Z]' '[a-z]')
1313
ifeq ($(findstring mingw32_nt,$(OS_NAME)),mingw32_nt)
1414
EXT=.dll
1515
endif
16+
17+
ifeq ($(findstring mingw64_nt,$(OS_NAME)),mingw64_nt)
18+
EXT=.dll
19+
endif
1620
SOFILES= lib/libscm/libscm$(EXT) \
1721
lib/libcffi/libcffi$(EXT) \
1822
lib/libgl/libgles$(EXT) \

lib/Makefile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,21 @@ ifeq ($(findstring mingw32_nt,$(OS_NAME)),mingw32_nt)
4949

5050
endif
5151

52+
ifeq ($(findstring mingw64_nt,$(OS_NAME)),mingw64_nt)
53+
OS_NAME:=windows
54+
LIBSCM =./libscm/libscm.dll
55+
LIBGLUT =./libglut/libglut.dll
56+
LIBFFI = ./libcffi/libcffi.dll
57+
LIBGLFW = ./libglfw/libglfw.dll
58+
LIBGLES= ./libgl/libgles.dll
59+
LIBSOCKET=./libsocket/libsocket.dll
60+
LIBC=./libc/libc.dll
61+
LIBGUI =./libgui/libgui.dll
62+
LIBCC =./libc/libcc.dll
63+
LIBALUT =./libalut/libalut.dll
64+
65+
endif
66+
5267
all: $(TARGET)
5368
@echo Build complete for $(TARGET)
5469
$(TARGET): $(OS_NAME) $(LIBS_ALL)

lib/libalut/Android.mk

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
##########################################################
2+
# Copyright 2016-2080 evilbinary.
3+
#作者:evilbinary on 12/24/16.
4+
#邮箱:rootdebug@163.com
5+
##########################################################
6+
7+
LOCAL_PATH := $(call my-dir)
8+
9+
include $(CLEAR_VARS)
10+
include $(LOCAL_PATH)/../Optimizations.mk
11+
12+
ifeq ($(TARGET_ARCH),x86)
13+
PLATFORM := androidx86
14+
else
15+
PLATFORM := android
16+
endif
17+
18+
3RD=$(LOCAL_PATH)/../3rdparty-arm/
19+
SCM=$(LOCAL_PATH)/../libscm
20+
21+
LOCAL_MODULE := alut
22+
LOCAL_SRC_FILES := al.c alut.c
23+
24+
LOCAL_ARM_MODE := arm
25+
26+
LOCAL_C_INCLUDES := $(LOCAL_PATH) \
27+
$(LOCAL_PATH)/include $(SCM) \
28+
$(3RD)/include $(3RD)/openal/openal/ \
29+
$(3RD)/freealut/include
30+
31+
LOCAL_CFLAGS += -g -Wall -DANDROID -DINLINES -DGC_MACROS -fPIC -Wno-unused-parameter -pie -fPIE
32+
LOCAL_LDLIBS += -ldl -llog -lz -lOpenSLES
33+
34+
LOCAL_WHOLE_STATIC_LIBRARIES:= libalut_static
35+
36+
37+
include $(BUILD_SHARED_LIBRARY)
38+
39+
40+
41+
42+

lib/libalut/Makefile

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,39 +14,46 @@ CXXFLAGS= -Wall -Wformat
1414
OTHERS=
1515

1616
UNAME_S := $(shell uname -s)
17-
OS_NAME :=$(shell echo $(UNAME_S)| tr '[A-Z]' '[a-z]')
18-
1917
ifeq ($(UNAME_S), Linux) #LINUX
2018
ECHO_MESSAGE = "Linux"
21-
LIBS += -lopenal -lalut
19+
LIBS += -lalut -lopenal
2220
CXXFLAGS +=
2321
CFLAGS += -fPIC
2422
endif
25-
2623
ifeq ($(UNAME_S), Darwin) #APPLE
2724
ECHO_MESSAGE = "Mac OS X"
2825
LIBS +=
2926
CXXFLAGS +=
3027
CFLAGS += -D__APPLE__ -L../3rdparty/lib -Wl,-all_load ../3rdparty/lib/libalut.a -Wl,-noall_load -I../3rdparty/include -framework OpenAL
31-
# CXXFLAGS += -D__APPcLE__
28+
# CXXFLAGS += -D__APPLE__
3229
endif
3330

34-
ifeq ($(findstring mingw32_nt,$(OS_NAME)),mingw32_nt)
35-
ECHO_MESSAGE = "Windows"
31+
ifeq ($(findstring MINGW32_NT-, $(UNAME_S)), MINGW32_NT-)
32+
ECHO_MESSAGE = "Windows"
3633
LIBS += -lopenal
3734
CXXFLAGS +=
3835
CFLAGS += -I../3rdparty/include -DALUT_BUILD_LIBRARY -Wl,--enable-auto-import \
3936
-Wl,--whole-archive ../3rdparty/lib/libalut.a -Wl,--no-whole-archive -Wl,--export-all-symbols \
40-
-L/mingw32/lib/ -I/mingw32/include
41-
OTHERS+= #-Wl,--out-implib,libalut.dll.a #-Wl,-verbose
37+
38+
OTHERS+=-Wl,--export-all-symbols #-Wl,--out-implib,libalut.dll.a #-Wl,-verbose
39+
TARGET = libalut.dll
40+
endif
41+
42+
43+
ifeq ($(findstring MINGW64_NT-, $(UNAME_S)), MINGW64_NT-)
44+
ECHO_MESSAGE = "Windows64"
45+
LIBS += -lopenal
46+
CXXFLAGS +=
47+
CFLAGS += -I../3rdparty/include -DALUT_BUILD_LIBRARY -Wl,--enable-auto-import \
48+
-Wl,--whole-archive /mingw64/lib/libalut.a -Wl,--no-whole-archive -Wl,--export-all-symbols \
49+
50+
OTHERS+=-Wl,--export-all-symbols #-Wl,--out-implib,libalut.dll.a #-Wl,-verbose
4251
TARGET = libalut.dll
4352
endif
4453

4554
.cpp.o:
4655
$(CXX) $(CXXFLAGS) -c -o $@ $<
4756
.c.o:
48-
@echo Build complete for $(ECHO_MESSAGE)
49-
5057
$(CC) $(CFLAGS) -c -o $@ $<
5158
all: $(TARGET)
5259
@echo Build complete for $(ECHO_MESSAGE)
@@ -56,3 +63,6 @@ $(TARGET): $(OBJS)
5663

5764
clean:
5865
rm -rf $(TARGET) $(OBJS) *.a
66+
67+
68+

lib/libc/Android.mk

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
##########################################################
2+
# Copyright 2016-2080 evilbinary.
3+
#作者:evilbinary on 12/24/16.
4+
#邮箱:rootdebug@163.com
5+
##########################################################
6+
7+
LOCAL_PATH := $(call my-dir)
8+
9+
include $(CLEAR_VARS)
10+
include $(LOCAL_PATH)/../Optimizations.mk
11+
12+
ifeq ($(TARGET_ARCH),x86)
13+
PLATFORM := androidx86
14+
else
15+
PLATFORM := android
16+
endif
17+
18+
3RD=$(LOCAL_PATH)/../3rdparty-arm/
19+
20+
LOCAL_MODULE := cc
21+
LOCAL_SRC_FILES := c.c
22+
23+
LOCAL_ARM_MODE := arm
24+
25+
LOCAL_C_INCLUDES := $(SCM) $(3RD)/include -L$(3RD)/lib/
26+
27+
LOCAL_CFLAGS += -g -Wall -DANDROID -DINLINES -DGC_MACROS -fPIC -Wno-unused-parameter -pie -fPIE
28+
LOCAL_LDLIBS += -ldl -llog -lz
29+
30+
include $(BUILD_SHARED_LIBRARY)
31+
32+
33+
34+
35+

lib/libc/Makefile

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ CFLAGS = -Wall -Wformat
1717
CXXFLAGS= -Wall -Wformat
1818

1919
UNAME_S := $(shell uname -s)
20-
OS_NAME :=$(shell echo $(UNAME_S)| tr '[A-Z]' '[a-z]')
21-
2220
ifeq ($(UNAME_S), Linux) #LINUX
2321
ECHO_MESSAGE = "Linux"
2422
LIBS +=
@@ -46,7 +44,7 @@ ifeq ($(UNAME_S), Darwin) #APPLE
4644
# CXXFLAGS += -D__APPLE__
4745
endif
4846

49-
ifeq ($(findstring mingw32_nt,$(OS_NAME)),mingw32_nt)
47+
ifeq ($(findstring MINGW32_NT-, $(UNAME_S)), MINGW32_NT-)
5048
ECHO_MESSAGE = "Windows"
5149
LIBS += -lm
5250
CXXFLAGS +=
@@ -57,6 +55,16 @@ ifeq ($(findstring mingw32_nt,$(OS_NAME)),mingw32_nt)
5755

5856
endif
5957

58+
ifeq ($(findstring MINGW64_NT-, $(UNAME_S)), MINGW64_NT-)
59+
ECHO_MESSAGE = "Windows"
60+
LIBS += -lm
61+
CXXFLAGS +=
62+
CXXFLAGS +=
63+
CFLAGS += #-Wno-implicit-function-declaration -Wl,--export-all-symbols -Wl,--exclude-all-symbols
64+
PLATFORM=ta6nt
65+
TARGET = libcc.dll
66+
endif
67+
6068
.cpp.o:
6169
$(CXX) $(CXXFLAGS) -c -o $@ $<
6270
.c.o:

lib/libc/c.c

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,11 @@ return div(arg0,arg1);
6161

6262
//char* ecvt(double ,int , int* , int* )
6363
char* c_ecvt (double arg0,int arg1, int* arg2, int* arg3){
64+
#ifdef ANDROID
65+
return NULL;
66+
#else
6467
return ecvt(arg0,arg1,arg2,arg3);
68+
#endif
6569
}
6670

6771
// //double erand48(unsigned )
@@ -76,7 +80,12 @@ void c_exit (int arg0){
7680

7781
//char* fcvt(double ,int , int* , int* )
7882
char* c_fcvt (double arg0,int arg1, int* arg2, int* arg3){
83+
#ifdef ANDROID
84+
return NULL;
85+
#else
86+
7987
return fcvt(arg0,arg1,arg2,arg3);
88+
#endif
8089
}
8190

8291
//void free( void* )
@@ -86,7 +95,11 @@ void c_free ( void* arg0){
8695

8796
//char* gcvt(double ,int , char* )
8897
char* c_gcvt (double arg0,int arg1, char* arg2){
98+
#ifdef ANDROID
99+
return NULL;
100+
#else
89101
return gcvt(arg0,arg1,arg2);
102+
#endif
90103
}
91104

92105
//char* getenv(const char* )
@@ -141,7 +154,11 @@ return malloc(arg0);
141154

142155
//int mblen(const char* ,size_t )
143156
int c_mblen (const char* arg0,size_t arg1){
157+
#ifdef ANDROID
158+
return 0;
159+
#else
144160
return mblen(arg0,arg1);
161+
#endif
145162
}
146163

147164
//size_t mbstowcs( wchar_t* ,const char* ,size_t )
@@ -151,7 +168,11 @@ return mbstowcs(arg0,arg1,arg2);
151168

152169
//int mbtowc( wchar_t* ,const char* ,size_t )
153170
int c_mbtowc ( wchar_t* arg0,const char* arg1,size_t arg2){
171+
#ifdef ANDROID
172+
return 0;
173+
#else
154174
return mbtowc(arg0,arg1,arg2);
175+
#endif
155176
}
156177

157178
//char* mktemp( char* )
@@ -271,7 +292,11 @@ return wcstombs(arg0,arg1,arg2);
271292

272293
//int wctomb( char* ,wchar_t )
273294
int c_wctomb ( char* arg0,wchar_t arg1){
295+
#ifdef ANDROID
296+
return 0;
297+
#else
274298
return wctomb(arg0,arg1);
299+
#endif
275300
}
276301

277302
//double acos(double )
@@ -687,7 +712,11 @@ return gets(arg0);
687712

688713
//int getw( FILE* )
689714
int c_getw ( FILE* arg0){
715+
#ifdef ANDROID
716+
return 0;
717+
#else
690718
return getw(arg0);
719+
#endif
691720
}
692721

693722
//int pclose( FILE* )
@@ -783,8 +812,8 @@ return setvbuf(arg0,arg1,arg2,arg3);
783812
int c_snprintf ( char* arg0,size_t arg1,const char* arg2,...){
784813
int nret;
785814
va_list args;
786-
va_start(args, arg0);
787-
nret = snprintf(arg0,arg1,args);
815+
va_start(args, arg2);
816+
nret = snprintf(arg0,arg1,arg2,args);
788817
va_end(args);
789818
return nret;
790819
}
@@ -919,6 +948,10 @@ char* c_strerror (int arg0){
919948
return strerror(arg0);
920949
}
921950

951+
int c_errorno(){
952+
return errno;
953+
}
954+
922955
//size_t strlen(const char* )
923956
size_t c_strlen (const char* arg0){
924957
return strlen(arg0);

lib/libc/c.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,8 @@ SCM_API char *c_strcpy(char *, const char *);
232232
SCM_API size_t c_strcspn(const char *, const char *);
233233
SCM_API char *c_strdup(const char *);
234234
SCM_API char *c_strerror(int);
235+
SCM_API int c_errorno();
236+
235237
SCM_API size_t c_strlen(const char *);
236238
SCM_API char *c_strncat(char *, const char *, size_t);
237239
SCM_API int c_strncmp(const char *, const char *, size_t);

lib/libgui/Android.mk

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
##########################################################
2+
# Copyright 2016-2080 evilbinary.
3+
#作者:evilbinary on 12/24/16.
4+
#邮箱:rootdebug@163.com
5+
##########################################################
6+
7+
LOCAL_PATH := $(call my-dir)
8+
9+
include $(CLEAR_VARS)
10+
include $(LOCAL_PATH)/../Optimizations.mk
11+
12+
ifeq ($(TARGET_ARCH),x86)
13+
PLATFORM := androidx86
14+
else
15+
PLATFORM := android
16+
endif
17+
18+
#cmd-strip :=
19+
20+
SCM=$(LOCAL_PATH)/../libscm
21+
22+
LOCAL_MODULE := gui
23+
LOCAL_SRC_FILES := edit.c fontstash.c graphic.c mat4.c shader.c stb_truetype.c utf8-utils.c
24+
25+
LOCAL_ARM_MODE := arm
26+
27+
LOCAL_C_INCLUDES := $(SCM)
28+
29+
LOCAL_CFLAGS += -I$(SCHEME_TARGET)/ -I. -I./c/ -I$(SCM) -I$(LOCAL_PATH)/../libgl/
30+
LOCAL_CFLAGS += -g -Wall -DANDROID -DINLINES -DGC_MACROS -fPIC -Wno-unused-parameter -std=c99 -pie -fPIE #-DGLAD
31+
LOCAL_LDLIBS += -ldl -llog -lz -lEGL -lGLESv1_CM -lGLESv2
32+
33+
LOCAL_SHARED_LIBRARIES :=libscm libgles
34+
# LOCAL_MULTILIB := 32
35+
36+
#include $(BUILD_EXECUTABLE)
37+
include $(BUILD_SHARED_LIBRARY)
38+
39+
40+
41+
42+

0 commit comments

Comments
 (0)