Skip to content

Commit 64e9e60

Browse files
committed
Basic Build Imrpovements:
- Remove Usage of System OpenSSL - Update OpenSSL to master from GitHub as Submodule - Update LuaJit to 2.1 from GitHub as Submodule - Fixes for gettimeofday() - Fixes to use x86 intrinsics only on x86 - Rename to wrk2 Integrate Improvements from GitHub: - Fixes to Script Copy Value Order - PR giltene#113 - Add Fixes for Mutual TLS Authentication - PR giltene#99 - Add Fixes for TLS Ciphers - PR giltene#107 - Add EOF Handling Error - PR giltene#33 - Add JSON Example - PR giltene#51 - Make Rate Optional (use UINT64_MAX) - PR giltene#130
1 parent 44a94c1 commit 64e9e60

File tree

207 files changed

+226
-114046
lines changed

Some content is hidden

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

207 files changed

+226
-114046
lines changed

Diff for: .gitignore

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
*.o
2+
*.obj
3+
24
*.a
3-
wrk
5+
*.lib
6+
7+
*.out
8+
*.exe
9+
10+
wrk2
411

512
deps/luajit/src/host/buildvm
613
deps/luajit/src/host/buildvm_arch.h
@@ -16,3 +23,5 @@ deps/luajit/src/luajit
1623

1724
.idea
1825
CMakeLists.txt
26+
27+
*Output

Diff for: .gitmodules

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[submodule "deps/luajit"]
2+
path = deps/luajit
3+
url = https://github.com/LuaJIT/LuaJIT
4+
branch = v2.1
5+
[submodule "deps/openssl"]
6+
path = deps/openssl
7+
url = https://github.com/openssl/openssl
8+
branch = master

Diff for: Makefile

+25-15
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
CFLAGS := -std=c99 -Wall -O2 -D_REENTRANT
2-
LIBS := -lpthread -lm -lcrypto -lssl
3-
1+
CFLAGS := -Wall -O2 -D_REENTRANT
2+
LIBS := -lpthread -lm
3+
GIT := git
44
TARGET := $(shell uname -s | tr '[A-Z]' '[a-z]' 2>/dev/null || echo unknown)
55

66
ifeq ($(TARGET), sunos)
@@ -11,40 +11,44 @@ else ifeq ($(TARGET), darwin)
1111
# is not set then it's forced to 10.4, which breaks compile on Mojave.
1212
export MACOSX_DEPLOYMENT_TARGET = $(shell sw_vers -productVersion)
1313
LDFLAGS += -pagezero_size 10000 -image_base 100000000
14-
LIBS += -L/usr/local/opt/openssl/lib
15-
CFLAGS += -I/usr/local/include -I/usr/local/opt/openssl/include
14+
CFLAGS += -I/usr/local/include
1615
else ifeq ($(TARGET), linux)
17-
CFLAGS += -D_POSIX_C_SOURCE=200809L -D_BSD_SOURCE
18-
LIBS += -ldl
19-
LDFLAGS += -Wl,-E
16+
CFLAGS += -D_POSIX_C_SOURCE=200809L -D_DEFAULT_SOURCE
17+
LIBS += -ldl -static -static-libgcc
18+
LDFLAGS += -Wl,-E -static -static-libgcc
2019
else ifeq ($(TARGET), freebsd)
2120
CFLAGS += -D_DECLARE_C99_LDBL_MATH
2221
LDFLAGS += -Wl,-E
2322
endif
2423

2524
SRC := wrk.c net.c ssl.c aprintf.c stats.c script.c units.c \
2625
ae.c zmalloc.c http_parser.c tinymt64.c hdr_histogram.c
27-
BIN := wrk
26+
BIN := wrk2
2827

2928
ODIR := obj
3029
OBJ := $(patsubst %.c,$(ODIR)/%.o,$(SRC)) $(ODIR)/bytecode.o
3130

3231
LDIR = deps/luajit/src
33-
LIBS := -lluajit $(LIBS)
34-
CFLAGS += -I$(LDIR)
35-
LDFLAGS += -L$(LDIR)
32+
SDIR = deps/openssl
33+
LIBS := -lssl -lcrypto -lluajit ${LIBS}
34+
CFLAGS += -I$(LDIR) -I$(SDIR)/include/
35+
LDFLAGS += -L$(LDIR) -L$(SDIR)
36+
37+
all: depends $(BIN)
3638

37-
all: $(BIN)
39+
depends:
40+
$(GIT) submodule update --init --recursive --force
3841

3942
clean:
4043
$(RM) $(BIN) obj/*
4144
@$(MAKE) -C deps/luajit clean
45+
@$(MAKE) -C deps/openssl clean
4246

4347
$(BIN): $(OBJ)
4448
@echo LINK $(BIN)
4549
@$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
4650

47-
$(OBJ): config.h Makefile $(LDIR)/libluajit.a | $(ODIR)
51+
$(OBJ): config.h Makefile $(LDIR)/libluajit.a $(SDIR)/libssl.a $(SDIR)/libcrypto.a | $(ODIR)
4852

4953
$(ODIR):
5054
@mkdir -p $@
@@ -57,10 +61,16 @@ $(ODIR)/%.o : %.c
5761
@echo CC $<
5862
@$(CC) $(CFLAGS) -c -o $@ $<
5963

60-
$(LDIR)/libluajit.a:
64+
$(LDIR)/libluajit.a: depends
6165
@echo Building LuaJIT...
6266
@$(MAKE) -C $(LDIR) BUILDMODE=static
6367

68+
$(SDIR)/libcrypto.a: depends
69+
@echo Building OpenSSL...
70+
@cd $(SDIR) && ./config --static -static && $(MAKE)
71+
72+
$(SDIR)/libssl.a: $(SDIR)/libcrypto.a
73+
6474
.PHONY: all clean
6575
.SUFFIXES:
6676
.SUFFIXES: .c .o .lua

Diff for: deps/luajit

Submodule luajit added at 8135de2

Diff for: deps/luajit/COPYRIGHT

-56
This file was deleted.

Diff for: deps/luajit/Makefile

-151
This file was deleted.

Diff for: deps/luajit/README

-16
This file was deleted.

0 commit comments

Comments
 (0)