Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 406403 | Differences between
and this patch

Collapse All | Expand All

(-)file_not_specified_in_diff (-111 / +41 lines)
Line  Link Here
0
-- Makefile
0
++ Makefile
Lines 13-28 Link Here
13
CRYPTODIR=deps/luacrypto
13
CRYPTODIR=deps/luacrypto
14
14
15
PREFIX?=/usr/local
15
PREFIX?=/usr/local
16
BINDIR?=${DESTDIR}${PREFIX}/bin
16
LIBDIR?=lib
17
INCDIR?=${DESTDIR}${PREFIX}/include/luvit
17
BINDIR_LUVIT?=${PREFIX}/bin
18
LIBDIR?=${DESTDIR}${PREFIX}/lib/luvit
18
INCDIR_LUVIT?=${PREFIX}/include/luvit
19
19
LIBDIR_LUVIT?=${PREFIX}/${LIBDIR}/luvit
20
OPENSSL_LIBS=$(shell pkg-config openssl --libs 2> /dev/null)
21
ifeq (${OPENSSL_LIBS},)
22
USE_SYSTEM_SSL?=0
23
else
24
USE_SYSTEM_SSL?=1
25
endif
26
20
27
OS_NAME=$(shell uname -s)
21
OS_NAME=$(shell uname -s)
28
MH_NAME=$(shell uname -m)
22
MH_NAME=$(shell uname -m)
Lines 45-64 Link Here
45
export Q=
39
export Q=
46
MAKEFLAGS+=-e
40
MAKEFLAGS+=-e
47
41
42
CC ?= gcc
43
48
LDFLAGS+=-L${BUILDDIR}
44
LDFLAGS+=-L${BUILDDIR}
49
LIBS += ${ZLIBDIR}/libz.a \
45
LIBS += \
50
	${YAJLDIR}/yajl.a \
46
	-luv \
51
	${UVDIR}/uv.a \
47
	-lyajl \
52
	${LUADIR}/src/libluajit.a \
48
	-lhttp_parser \
53
	-lluvit -lm -ldl -lpthread
49
	-lluacrypto \
54
ifeq (${USE_SYSTEM_SSL},1)
50
	-lluvit -ldl -lpthread \
51
	$(shell pkg-config --libs-only-l lua) \
52
	$(shell pkg-config --libs-only-l luajit) \
53
	$(shell pkg-config --libs-only-l zlib) \
54
	$(shell pkg-config --libs-only-l openssl)
55
56
CPPFLAGS += \
57
	-I${PREFIX}/include/libuv \
58
	-I${PREFIX}/include/http-parser \
59
	-I${PREFIX}/include/yajl
60
55
CFLAGS+=-Wall -w
61
CFLAGS+=-Wall -w
56
CPPFLAGS+=$(shell pkg-config --cflags openssl)
62
CPPFLAGS+=$(shell pkg-config --cflags openssl)
57
LIBS+=${OPENSSL_LIBS}
63
LIBS+=${OPENSSL_LIBS}
58
else
59
CPPFLAGS+=-I${SSLDIR}/openssl/include
60
LIBS+=${SSLDIR}/libopenssl.a
61
endif
62
64
63
ifeq (${OS_NAME},Linux)
65
ifeq (${OS_NAME},Linux)
64
LIBS+=-lrt
66
LIBS+=-lrt
Lines 86-97 Link Here
86
CPPFLAGS += -DOPENSSL_NO_SEED
88
CPPFLAGS += -DOPENSSL_NO_SEED
87
CPPFLAGS += -DOPENSSL_NO_SOCK
89
CPPFLAGS += -DOPENSSL_NO_SOCK
88
90
89
ifeq (${MH_NAME},x86_64)
90
CPPFLAGS += -I${SSLDIR}/openssl-configs/x64
91
else
92
CPPFLAGS += -I${SSLDIR}/openssl-configs/ia32
93
endif
94
95
LUVLIBS=${BUILDDIR}/utils.o          \
91
LUVLIBS=${BUILDDIR}/utils.o          \
96
        ${BUILDDIR}/luv_fs.o         \
92
        ${BUILDDIR}/luv_fs.o         \
97
        ${BUILDDIR}/luv_dns.o        \
93
        ${BUILDDIR}/luv_dns.o        \
Lines 117-203 Link Here
117
        ${BUILDDIR}/luv_zlib.o       \
113
        ${BUILDDIR}/luv_zlib.o       \
118
        ${BUILDDIR}/lhttp_parser.o
114
        ${BUILDDIR}/lhttp_parser.o
119
115
120
DEPS=${LUADIR}/src/libluajit.a \
121
     ${YAJLDIR}/yajl.a         \
122
     ${UVDIR}/uv.a             \
123
     ${ZLIBDIR}/libz.a         \
124
     ${HTTPDIR}/http_parser.o
125
126
ifeq (${USE_SYSTEM_SSL},0)
127
DEPS+=${SSLDIR}/libopenssl.a
128
endif
129
130
all: ${BUILDDIR}/luvit
116
all: ${BUILDDIR}/luvit
131
117
132
${LUADIR}/Makefile:
118
${BUILDDIR}/%.o: src/%.c
133
	git submodule update --init ${LUADIR}
134
135
${LUADIR}/src/libluajit.a: ${LUADIR}/Makefile
136
	touch -c ${LUADIR}/src/*.h
137
	$(MAKE) -C ${LUADIR}
138
139
${YAJLDIR}/CMakeLists.txt:
140
	git submodule update --init ${YAJLDIR}
141
142
${YAJLDIR}/Makefile: deps/Makefile.yajl ${YAJLDIR}/CMakeLists.txt
143
	cp deps/Makefile.yajl ${YAJLDIR}/Makefile
144
145
${YAJLDIR}/yajl.a: ${YAJLDIR}/Makefile
146
	rm -rf ${YAJLDIR}/src/yajl
147
	cp -r ${YAJLDIR}/src/api ${YAJLDIR}/src/yajl
148
	$(MAKE) -C ${YAJLDIR}
149
150
${UVDIR}/Makefile:
151
	git submodule update --init ${UVDIR}
152
153
${UVDIR}/uv.a: ${UVDIR}/Makefile
154
	$(MAKE) -C ${UVDIR} uv.a
155
156
${HTTPDIR}/Makefile:
157
	git submodule update --init ${HTTPDIR}
158
159
${HTTPDIR}/http_parser.o: ${HTTPDIR}/Makefile
160
	$(MAKE) -C ${HTTPDIR} http_parser.o
161
162
${ZLIBDIR}/zlib.gyp:
163
	git submodule update --init ${ZLIBDIR}
164
165
${ZLIBDIR}/libz.a: ${ZLIBDIR}/zlib.gyp
166
	cd ${ZLIBDIR} && ${CC} -c *.c && \
167
	$(AR) rvs libz.a *.o
168
169
${SSLDIR}/Makefile.openssl:
170
	git submodule update --init ${SSLDIR}
171
172
${SSLDIR}/libopenssl.a: ${SSLDIR}/Makefile.openssl
173
	$(MAKE) -C ${SSLDIR} -f Makefile.openssl
174
175
${BUILDDIR}/%.o: src/%.c ${DEPS}
176
	mkdir -p ${BUILDDIR}
119
	mkdir -p ${BUILDDIR}
177
	$(CC) ${CPPFLAGS} ${CFLAGS} --std=c89 -D_GNU_SOURCE -g -Wall -Werror -c $< -o $@ \
120
	$(CC) \
178
		-I${HTTPDIR} -I${UVDIR}/include -I${LUADIR}/src -I${YAJLDIR}/src/api \
121
		${CPPFLAGS} \
179
		-I${YAJLDIR}/src -I${ZLIBDIR} -I${CRYPTODIR}/src \
122
		${CFLAGS} --std=c89 -D_GNU_SOURCE -g -Wall -Werror \
123
		-c $< -o $@ \
180
		-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
124
		-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
181
		-DUSE_SYSTEM_SSL=${USE_SYSTEM_SSL} \
125
		-DUSE_SYSTEM_SSL=1 \
182
		-DHTTP_VERSION=\"${HTTP_VERSION}\" \
126
		-DHTTP_VERSION=\"${HTTP_VERSION}\" \
183
		-DUV_VERSION=\"${UV_VERSION}\" \
127
		-DUV_VERSION=\"${UV_VERSION}\" \
184
		-DYAJL_VERSIONISH=\"${YAJL_VERSION}\" \
128
		-DYAJL_VERSIONISH=\"${YAJL_VERSION}\" \
185
		-DLUVIT_VERSION=\"${VERSION}\" \
129
		-DLUVIT_VERSION=\"${VERSION}\" \
186
		-DLUAJIT_VERSION=\"${LUAJIT_VERSION}\"
130
		-DLUAJIT_VERSION=\"${LUAJIT_VERSION}\"
187
131
188
${BUILDDIR}/libluvit.a: ${CRYPTODIR}/Makefile ${LUVLIBS} ${DEPS}
132
${BUILDDIR}/libluvit.a: ${LUVLIBS}
189
	$(AR) rvs ${BUILDDIR}/libluvit.a ${LUVLIBS} ${DEPS}
133
	$(AR) rvs ${BUILDDIR}/libluvit.a ${LUVLIBS}
190
191
${CRYPTODIR}/Makefile:
192
	git submodule update --init ${CRYPTODIR}
193
194
${CRYPTODIR}/src/lcrypto.o: ${CRYPTODIR}/Makefile
195
	${CC} ${CPPFLAGS} -c -o ${CRYPTODIR}/src/lcrypto.o -I${CRYPTODIR}/src/ \
196
		 -I${LUADIR}/src/ ${CRYPTODIR}/src/lcrypto.c
197
134
198
${BUILDDIR}/luvit: ${BUILDDIR}/libluvit.a ${BUILDDIR}/luvit_main.o ${CRYPTODIR}/src/lcrypto.o
135
${BUILDDIR}/luvit: ${BUILDDIR}/libluvit.a ${BUILDDIR}/luvit_main.o
199
	$(CC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -g -o ${BUILDDIR}/luvit ${BUILDDIR}/luvit_main.o ${BUILDDIR}/libluvit.a \
136
	$(CC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -g -o ${BUILDDIR}/luvit ${BUILDDIR}/luvit_main.o ${BUILDDIR}/libluvit.a \
200
		${CRYPTODIR}/src/lcrypto.o ${LIBS}
137
		${LIBS}
201
138
202
clean:
139
clean:
203
	${MAKE} -C ${LUADIR} clean
140
	${MAKE} -C ${LUADIR} clean
Lines 209-229 Link Here
209
	rm -rf build bundle
146
	rm -rf build bundle
210
147
211
install: all
148
install: all
212
	mkdir -p ${BINDIR}
149
	install -d ${DESTDIR}${BINDIR_LUVIT}
213
	install ${BUILDDIR}/luvit ${BINDIR}/luvit
150
	install -m755 ${BUILDDIR}/luvit ${DESTDIR}${BINDIR_LUVIT}/luvit
214
	mkdir -p ${LIBDIR}
151
	install -d ${DESTDIR}${LIBDIR_LUVIT}
215
	cp lib/luvit/*.lua ${LIBDIR}
152
	for i in `ls lib/luvit`; do \
216
	mkdir -p ${INCDIR}/luajit
153
		install -Dm644 lib/luvit/$$i ${DESTDIR}${LIBDIR_LUVIT}/$$i; done
217
	cp ${LUADIR}/src/lua.h ${INCDIR}/luajit/
154
	install -d ${DESTDIR}${INCDIR_LUVIT}/luajit
218
	cp ${LUADIR}/src/lauxlib.h ${INCDIR}/luajit/
155
	for i in `ls src/*.h`; do \
219
	cp ${LUADIR}/src/luaconf.h ${INCDIR}/luajit/
156
		install -Dm644 $$i ${DESTDIR}${INCDIR_LUVIT}/$$(basename $$i); done
220
	cp ${LUADIR}/src/luajit.h ${INCDIR}/luajit/
221
	cp ${LUADIR}/src/lualib.h ${INCDIR}/luajit/
222
	mkdir -p ${INCDIR}/http_parser
223
	cp ${HTTPDIR}/http_parser.h ${INCDIR}/http_parser/
224
	mkdir -p ${INCDIR}/uv
225
	cp -r ${UVDIR}/include/* ${INCDIR}/uv/
226
	cp src/*.h ${INCDIR}/
227
157
228
bundle: build/luvit ${BUILDDIR}/libluvit.a
158
bundle: build/luvit ${BUILDDIR}/libluvit.a
229
	build/luvit tools/bundler.lua
159
	build/luvit tools/bundler.lua

Return to bug 406403