]> Pileus Git - ~andy/sunrise/blob - dev-lua/luvit/files/0.3.1-makefile.patch
dev-lua/luvit: version bump
[~andy/sunrise] / dev-lua / luvit / files / 0.3.1-makefile.patch
1 From: hasufell <julian.ospald@googlemail.com>
2 Date: Fri Apr 13 18:57:29 UTC 2012
3 Subject: build system
4
5 ignore bundled 3rd party sources and assume system libs/headers instead
6 fix install-rules
7
8 --- Makefile
9 +++ Makefile
10 @@ -13,16 +13,10 @@
11  CRYPTODIR=deps/luacrypto
12  
13  PREFIX?=/usr/local
14 -BINDIR?=${DESTDIR}${PREFIX}/bin
15 -INCDIR?=${DESTDIR}${PREFIX}/include/luvit
16 -LIBDIR?=${DESTDIR}${PREFIX}/lib/luvit
17 -
18 -OPENSSL_LIBS=$(shell pkg-config openssl --libs 2> /dev/null)
19 -ifeq (${OPENSSL_LIBS},)
20 -USE_SYSTEM_SSL?=0
21 -else
22 -USE_SYSTEM_SSL?=1
23 -endif
24 +LIBDIR?=lib
25 +BINDIR_LUVIT?=${PREFIX}/bin
26 +INCDIR_LUVIT?=${PREFIX}/include/luvit
27 +LIBDIR_LUVIT?=${PREFIX}/${LIBDIR}/luvit
28  
29  OS_NAME=$(shell uname -s)
30  MH_NAME=$(shell uname -m)
31 @@ -45,20 +39,28 @@
32  export Q=
33  MAKEFLAGS+=-e
34  
35 +CC ?= gcc
36 +
37  LDFLAGS+=-L${BUILDDIR}
38 -LIBS += ${ZLIBDIR}/libz.a \
39 -       ${YAJLDIR}/yajl.a \
40 -       ${UVDIR}/uv.a \
41 -       ${LUADIR}/src/libluajit.a \
42 -       -lluvit -lm -ldl -lpthread
43 -ifeq (${USE_SYSTEM_SSL},1)
44 +LIBS += \
45 +       -luv \
46 +       -lyajl \
47 +       -lhttp_parser \
48 +       -lluacrypto \
49 +       -lluvit -ldl -lpthread \
50 +       $(shell pkg-config --libs-only-l lua) \
51 +       $(shell pkg-config --libs-only-l luajit) \
52 +       $(shell pkg-config --libs-only-l zlib) \
53 +       $(shell pkg-config --libs-only-l openssl)
54 +
55 +CPPFLAGS += \
56 +       -I${PREFIX}/include/libuv \
57 +       -I${PREFIX}/include/http-parser \
58 +       -I${PREFIX}/include/yajl
59 +
60  CFLAGS+=-Wall -w
61  CPPFLAGS+=$(shell pkg-config --cflags openssl)
62  LIBS+=${OPENSSL_LIBS}
63 -else
64 -CPPFLAGS+=-I${SSLDIR}/openssl/include
65 -LIBS+=${SSLDIR}/libopenssl.a
66 -endif
67  
68  ifeq (${OS_NAME},Linux)
69  LIBS+=-lrt
70 @@ -86,12 +88,6 @@
71  CPPFLAGS += -DOPENSSL_NO_SEED
72  CPPFLAGS += -DOPENSSL_NO_SOCK
73  
74 -ifeq (${MH_NAME},x86_64)
75 -CPPFLAGS += -I${SSLDIR}/openssl-configs/x64
76 -else
77 -CPPFLAGS += -I${SSLDIR}/openssl-configs/ia32
78 -endif
79 -
80  LUVLIBS=${BUILDDIR}/utils.o          \
81          ${BUILDDIR}/luv_fs.o         \
82          ${BUILDDIR}/luv_dns.o        \
83 @@ -117,87 +113,28 @@
84          ${BUILDDIR}/luv_zlib.o       \
85          ${BUILDDIR}/lhttp_parser.o
86  
87 -DEPS=${LUADIR}/src/libluajit.a \
88 -     ${YAJLDIR}/yajl.a         \
89 -     ${UVDIR}/uv.a             \
90 -     ${ZLIBDIR}/libz.a         \
91 -     ${HTTPDIR}/http_parser.o
92 -
93 -ifeq (${USE_SYSTEM_SSL},0)
94 -DEPS+=${SSLDIR}/libopenssl.a
95 -endif
96 -
97  all: ${BUILDDIR}/luvit
98  
99 -${LUADIR}/Makefile:
100 -       git submodule update --init ${LUADIR}
101 -
102 -${LUADIR}/src/libluajit.a: ${LUADIR}/Makefile
103 -       touch -c ${LUADIR}/src/*.h
104 -       $(MAKE) -C ${LUADIR}
105 -
106 -${YAJLDIR}/CMakeLists.txt:
107 -       git submodule update --init ${YAJLDIR}
108 -
109 -${YAJLDIR}/Makefile: deps/Makefile.yajl ${YAJLDIR}/CMakeLists.txt
110 -       cp deps/Makefile.yajl ${YAJLDIR}/Makefile
111 -
112 -${YAJLDIR}/yajl.a: ${YAJLDIR}/Makefile
113 -       rm -rf ${YAJLDIR}/src/yajl
114 -       cp -r ${YAJLDIR}/src/api ${YAJLDIR}/src/yajl
115 -       $(MAKE) -C ${YAJLDIR}
116 -
117 -${UVDIR}/Makefile:
118 -       git submodule update --init ${UVDIR}
119 -
120 -${UVDIR}/uv.a: ${UVDIR}/Makefile
121 -       $(MAKE) -C ${UVDIR} uv.a
122 -
123 -${HTTPDIR}/Makefile:
124 -       git submodule update --init ${HTTPDIR}
125 -
126 -${HTTPDIR}/http_parser.o: ${HTTPDIR}/Makefile
127 -       $(MAKE) -C ${HTTPDIR} http_parser.o
128 -
129 -${ZLIBDIR}/zlib.gyp:
130 -       git submodule update --init ${ZLIBDIR}
131 -
132 -${ZLIBDIR}/libz.a: ${ZLIBDIR}/zlib.gyp
133 -       cd ${ZLIBDIR} && ${CC} -c *.c && \
134 -       $(AR) rvs libz.a *.o
135 -
136 -${SSLDIR}/Makefile.openssl:
137 -       git submodule update --init ${SSLDIR}
138 -
139 -${SSLDIR}/libopenssl.a: ${SSLDIR}/Makefile.openssl
140 -       $(MAKE) -C ${SSLDIR} -f Makefile.openssl
141 -
142 -${BUILDDIR}/%.o: src/%.c ${DEPS}
143 +${BUILDDIR}/%.o: src/%.c
144         mkdir -p ${BUILDDIR}
145 -       $(CC) ${CPPFLAGS} ${CFLAGS} --std=c89 -D_GNU_SOURCE -g -Wall -Werror -c $< -o $@ \
146 -               -I${HTTPDIR} -I${UVDIR}/include -I${LUADIR}/src -I${YAJLDIR}/src/api \
147 -               -I${YAJLDIR}/src -I${ZLIBDIR} -I${CRYPTODIR}/src \
148 +       $(CC) \
149 +               ${CPPFLAGS} \
150 +               ${CFLAGS} --std=c89 -D_GNU_SOURCE -g -Wall -Werror \
151 +               -c $< -o $@ \
152                 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
153 -               -DUSE_SYSTEM_SSL=${USE_SYSTEM_SSL} \
154 +               -DUSE_SYSTEM_SSL=1 \
155                 -DHTTP_VERSION=\"${HTTP_VERSION}\" \
156                 -DUV_VERSION=\"${UV_VERSION}\" \
157                 -DYAJL_VERSIONISH=\"${YAJL_VERSION}\" \
158                 -DLUVIT_VERSION=\"${VERSION}\" \
159                 -DLUAJIT_VERSION=\"${LUAJIT_VERSION}\"
160  
161 -${BUILDDIR}/libluvit.a: ${CRYPTODIR}/Makefile ${LUVLIBS} ${DEPS}
162 -       $(AR) rvs ${BUILDDIR}/libluvit.a ${LUVLIBS} ${DEPS}
163 -
164 -${CRYPTODIR}/Makefile:
165 -       git submodule update --init ${CRYPTODIR}
166 -
167 -${CRYPTODIR}/src/lcrypto.o: ${CRYPTODIR}/Makefile
168 -       ${CC} ${CPPFLAGS} -c -o ${CRYPTODIR}/src/lcrypto.o -I${CRYPTODIR}/src/ \
169 -                -I${LUADIR}/src/ ${CRYPTODIR}/src/lcrypto.c
170 +${BUILDDIR}/libluvit.a: ${LUVLIBS}
171 +       $(AR) rvs ${BUILDDIR}/libluvit.a ${LUVLIBS}
172  
173 -${BUILDDIR}/luvit: ${BUILDDIR}/libluvit.a ${BUILDDIR}/luvit_main.o ${CRYPTODIR}/src/lcrypto.o
174 +${BUILDDIR}/luvit: ${BUILDDIR}/libluvit.a ${BUILDDIR}/luvit_main.o
175         $(CC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -g -o ${BUILDDIR}/luvit ${BUILDDIR}/luvit_main.o ${BUILDDIR}/libluvit.a \
176 -               ${CRYPTODIR}/src/lcrypto.o ${LIBS}
177 +               ${LIBS}
178  
179  clean:
180         ${MAKE} -C ${LUADIR} clean
181 @@ -209,21 +146,14 @@
182         rm -rf build bundle
183  
184  install: all
185 -       mkdir -p ${BINDIR}
186 -       install ${BUILDDIR}/luvit ${BINDIR}/luvit
187 -       mkdir -p ${LIBDIR}
188 -       cp lib/luvit/*.lua ${LIBDIR}
189 -       mkdir -p ${INCDIR}/luajit
190 -       cp ${LUADIR}/src/lua.h ${INCDIR}/luajit/
191 -       cp ${LUADIR}/src/lauxlib.h ${INCDIR}/luajit/
192 -       cp ${LUADIR}/src/luaconf.h ${INCDIR}/luajit/
193 -       cp ${LUADIR}/src/luajit.h ${INCDIR}/luajit/
194 -       cp ${LUADIR}/src/lualib.h ${INCDIR}/luajit/
195 -       mkdir -p ${INCDIR}/http_parser
196 -       cp ${HTTPDIR}/http_parser.h ${INCDIR}/http_parser/
197 -       mkdir -p ${INCDIR}/uv
198 -       cp -r ${UVDIR}/include/* ${INCDIR}/uv/
199 -       cp src/*.h ${INCDIR}/
200 +       install -d ${DESTDIR}${BINDIR_LUVIT}
201 +       install -m755 ${BUILDDIR}/luvit ${DESTDIR}${BINDIR_LUVIT}/luvit
202 +       install -d ${DESTDIR}${LIBDIR_LUVIT}
203 +       for i in `ls lib/luvit`; do \
204 +               install -Dm644 lib/luvit/$$i ${DESTDIR}${LIBDIR_LUVIT}/$$i; done
205 +       install -d ${DESTDIR}${INCDIR_LUVIT}/luajit
206 +       for i in `ls src/*.h`; do \
207 +               install -Dm644 $$i ${DESTDIR}${INCDIR_LUVIT}/$$(basename $$i); done
208  
209  bundle: build/luvit ${BUILDDIR}/libluvit.a
210         build/luvit tools/bundler.lua