Skip to content

Commit 45e34de

Browse files
committed
latest
1 parent e270b19 commit 45e34de

File tree

261 files changed

+219
-0
lines changed

Some content is hidden

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

261 files changed

+219
-0
lines changed
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

libserver/Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
include ./Makefile.lib
2+
CFLAGS += -DBUILDING_CORO_DLL $(IOVMALLFLAGS)
3+
4+
# Manually control which coro implementation to use
5+
#CFLAGS += -DUSE_UCONTEXT # preferred on OSX, Linux and friends
6+
#CFLAGS += -DUSE_FIBERS # preferred on Windows
7+
#CFLAGS += -DUSE_SETJMP # method of last resort

libserver/Makefile.lib

Lines changed: 210 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,210 @@
1+
ifeq ($(shell [ -f Makefile.local ] && echo true),true)
2+
ALL_BEGIN := $(MAKE) -f Makefile.local all_begin
3+
ALL_END := $(MAKE) -f Makefile.local all_end
4+
MAKE_LOCAL_CLEAN := $(MAKE) -f Makefile.local clean
5+
else
6+
ALL_BEGIN :=
7+
ALL_END :=
8+
MAKE_LOCAL_CLEAN :=
9+
endif
10+
11+
#CC ?= g++
12+
13+
RANLIB ?= ranlib
14+
AR ?= ar
15+
ARFLAGS := rcu
16+
AROUTFLAG :=
17+
CCOUTFLAG := -o
18+
LINKDLL := $(CC)
19+
LINKDLLOUTFLAG := -o
20+
LINKDIRFLAG := -L
21+
LINKLIBFLAG := -l
22+
INSTALL_PREFIX_DEFINE := $(INSTALL_PREFIX)
23+
24+
# may need to remove --param max-inline-insns-single=500 for older versions of gccs
25+
WARN :=-Wstrict-prototypes
26+
#-Winline
27+
#--param max-inline-insns-single=500
28+
29+
#-ansi -pedantic
30+
OPTIMIZE :=-O3 -g
31+
#-msse2 -msse -mmmx
32+
#OPTIMIZE :=-O3 -ffast-math -ftree-vectorize -ftree-vectorizer-verbose=4
33+
DLL_SUFFIX := so
34+
DLL_LIB_PREFIX := lib
35+
DLL_COMMAND := -shared
36+
FLAT_NAMESPACE :=
37+
dependson := $(shell cat depends)
38+
39+
HEADERS :=-I. -I./source
40+
others := $(dependson)
41+
others := $(addprefix -I../,$(others))
42+
others := $(addsuffix /_build/headers,$(others))
43+
HEADERS += $(others)
44+
45+
DLL_L := $(dependson)
46+
DLL_L := $(addprefix -L../,$(DLL_L))
47+
DLL_L := $(addsuffix /_build/dll,$(DLL_L))
48+
49+
DLL_l := $(dependson)
50+
DLL_l := $(addprefix -l,$(DLL_l))
51+
52+
CFLAGS = $(OPTIMIZE) $(WARN) $(HEADERS) #--param max-inline-insns-single=500
53+
54+
# Uncommment for Coros to register their stack with Valgrind
55+
#CFLAGS += -DUSE_VALGRIND
56+
57+
### PLATFORM #####################################################
58+
59+
SYS ?= $(shell uname -s)
60+
61+
ifeq ($(SYS),Darwin)
62+
CFLAGS += -falign-loops=16
63+
CFLAGS += -fPIC
64+
DLL_SUFFIX := dylib
65+
DLL_COMMAND := -dynamiclib
66+
FLAT_NAMESPACE := -flat_namespace
67+
endif
68+
69+
ifeq ($(SYS),DragonFly)
70+
LFLAGS += -lm
71+
endif
72+
73+
ifeq ($(SYS),Linux)
74+
CFLAGS += -falign-loops=16
75+
CFLAGS += -fPIC
76+
endif
77+
78+
ifeq ($(SYS),IRIX)
79+
RANLIB ?= touch
80+
endif
81+
82+
ifneq (,$(findstring CYGW,$(SYS)))
83+
DLL_SUFFIX := dll
84+
endif
85+
86+
ifneq (,$(findstring MINGW,$(SYS)))
87+
DLL_SUFFIX := dll
88+
CFLAGS += -mno-cygwin
89+
endif
90+
91+
ifneq (,$(findstring Windows,$(SYS)))
92+
CC := cl -nologo
93+
CCOUTFLAG :=-Fo
94+
WARN :=
95+
#OPTIMIZE :=-Zi -MDd -D_USE_MATH_DEFINES -DWIN32 -D_DEBUG -D_CRT_SECURE_NO_DEPRECATE
96+
OPTIMIZE :=-O2 -EHsc -MD -D_USE_MATH_DEFINES -DWIN32 -DNDEBUG -D_CRT_SECURE_NO_DEPRECATE
97+
AR := link -lib
98+
AROUTFLAG :=-out:
99+
ARFLAGS :=
100+
LINKDLL := link
101+
LINKDLLOUTFLAG :=-out:
102+
LINKDIRFLAG := -libpath:
103+
LINKLIBFLAG := lib
104+
DLL_LIB_SUFFIX := .lib
105+
DLL_LIB_PREFIX := lib
106+
DLL_COMMAND := -link /INCREMENTAL:NO -subsystem:WINDOWS -machine:X86 -DLL $(DEF_FILE)
107+
DLL_SUFFIX := dll
108+
DLL_EXTRAS := ws2_32.lib shell32.lib
109+
FLAT_NAMESPACE :=
110+
RANLIB := echo no ranlib
111+
INSTALL_PREFIX_DEFINE := $(shell cygpath -am $(INSTALL_PREFIX))
112+
endif
113+
114+
### FILES #########################################################
115+
116+
NAME := $(notdir $(subst $() ,_,$(shell pwd)))
117+
LIBR := _build/lib/$(DLL_LIB_PREFIX)$(NAME).a
118+
DLL := _build/dll/$(DLL_LIB_PREFIX)$(NAME).$(DLL_SUFFIX)
119+
infiles := $(wildcard source/*.c)
120+
#infiles += $(wildcard *.S)
121+
asmfiles := $(wildcard source/*.S)
122+
hfiles := $(wildcard source/*.h)
123+
buildhfiles := $(subst source/,_build/headers/,$(hfiles))
124+
objects := $(notdir $(infiles))
125+
objects := $(basename $(objects))
126+
objects := $(addsuffix .o,$(objects))
127+
objects := $(addprefix _build/objs/,$(objects))
128+
129+
vmall_objects := $(notdir $(infiles))
130+
vmall_objects := $(basename $(vmall_objects))
131+
vmall_objects := $(addsuffix .o,$(vmall_objects))
132+
vmall_objects := $(addprefix _build/vmall_objs/,$(vmall_objects))
133+
134+
135+
DLL_L := $(dependson)
136+
DLL_L := $(addprefix $(LINKDIRFLAG)../,$(DLL_L))
137+
DLL_L := $(addsuffix /_build/dll,$(DLL_L))
138+
139+
DLL_l := $(dependson)
140+
DLL_l := $(addprefix $(LINKLIBFLAG),$(DLL_l))
141+
DLL_l := $(addsuffix $(DLL_LIB_SUFFIX),$(DLL_l))
142+
143+
DEF_FILE :=
144+
145+
### RULES ###########################################################
146+
147+
all: _build/objs _build/headers _build/lib _build/dll $(buildhfiles)
148+
$(ALL_BEGIN)
149+
$(MAKE) $(LIBR)
150+
$(MAKE) $(DLL)
151+
ifneq (,$(findstring Windows,$(SYS)))
152+
mkdir -p _build/vmall_objs
153+
$(MAKE) vmall_objs
154+
endif
155+
$(ALL_END)
156+
157+
_build:
158+
mkdir -p $@
159+
160+
_build/objs: _build
161+
mkdir -p $@
162+
163+
_build/headers: _build
164+
mkdir -p $@
165+
166+
_build/lib: _build
167+
mkdir -p $@
168+
169+
_build/dll: _build
170+
mkdir -p $@
171+
172+
# pull in dependency info for *existing* .o files
173+
-include $(objects:.o=.d)
174+
175+
_build/objs/%.o: source/%.c
176+
ifeq (,$(findstring Windows,$(SYS)))
177+
$(CC) -MM -MT $@ -MF $(@:.o=.d) -DINSTALL_PREFIX=\"$(INSTALL_PREFIX_DEFINE)\" $(CFLAGS) -c $< $(CCOUTFLAG)$@
178+
endif
179+
$(CC) -DINSTALL_PREFIX=\"$(INSTALL_PREFIX_DEFINE)\" $(CFLAGS) -c $< $(CCOUTFLAG)$@
180+
181+
_build/vmall_objs/%.o: source/%.c
182+
$(CC) -DINSTALL_PREFIX=\"$(INSTALL_PREFIX_DEFINE)\" $(CFLAGS) \
183+
-DBUILDING_IOVMALL_DLL -c $< $(CCOUTFLAG)$@
184+
185+
_build/headers/%.h: source/%.h _build/headers
186+
cp $< $@
187+
188+
_build/vmall_objs:
189+
mkdir -p $@
190+
191+
vmall_objs: _build/vmall_objs $(vmall_objects)
192+
193+
$(LIBR): $(objects)
194+
ifneq ($(asmfiles),)
195+
$(CC) $(CFLAGS) -c $(asmfiles) $(CCOUTFLAG)_build/objs/asm.o || true
196+
endif
197+
$(AR) $(ARFLAGS) $(AROUTFLAG)$@ _build/objs/*.o
198+
$(RANLIB) $@
199+
200+
$(DLL): $(objects)
201+
$(LINKDLL) $(DLL_COMMAND) $(FLAT_NAMESPACE) $(DLL_L) _build/objs/*.o $(LINKDLLOUTFLAG)$(DLL) $(DLL_l) $(DLL_EXTRAS)
202+
ifneq (,$(findstring Windows,$(SYS)))
203+
mt.exe -manifest [email protected] -outputresource:$@
204+
205+
endif
206+
207+
clean:
208+
rm -rf _build
209+
$(MAKE_LOCAL_CLEAN)
210+

libserver/depends

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
coroutine
2+
event

0 commit comments

Comments
 (0)