Annotate

makefile @ 10851:6cf16abd0976

net.server_select: Ensure onconnect is always called before onincoming This changes the code to call onconnect when the first data is sucessfully read or written, instead of simply when the socket first becomes writable. A writable socket can mean a connection error, and if the client already sent some data it may get passed to onincoming before processing writable sockets. This fixes the issue.
author Matthew Wild <mwild1@gmail.com>
date Mon, 01 Jun 2020 13:38:47 +0100
parent 9683:bf32f2282b18
child 10880:324c50ea0f1d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8593
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 include config.unix
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 BIN = $(DESTDIR)$(PREFIX)/bin
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 CONFIG = $(DESTDIR)$(SYSCONFDIR)
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 MODULES = $(DESTDIR)$(LIBDIR)/prosody/modules
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 SOURCE = $(DESTDIR)$(LIBDIR)/prosody
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 DATA = $(DESTDIR)$(DATADIR)
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 MAN = $(DESTDIR)$(PREFIX)/share/man
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 INSTALLEDSOURCE = $(LIBDIR)/prosody
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 INSTALLEDCONFIG = $(SYSCONFDIR)
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 INSTALLEDMODULES = $(LIBDIR)/prosody/modules
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 INSTALLEDDATA = $(DATADIR)
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 INSTALL=install -p
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 INSTALL_DATA=$(INSTALL) -m644
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 INSTALL_EXEC=$(INSTALL) -m755
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 MKDIR=install -d
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 MKDIR_PRIVATE=$(MKDIR) -m750
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21
9682
814a9d89d2bd makefile: Add lint target (to match GNUMakefile)
Matthew Wild <mwild1@gmail.com>
parents: 8593
diff changeset
22 LUACHECK=luacheck
9683
bf32f2282b18 makefile: Allow configuring path to busted (to match GNUMakefile)
Matthew Wild <mwild1@gmail.com>
parents: 9682
diff changeset
23 BUSTED=busted
9682
814a9d89d2bd makefile: Add lint target (to match GNUMakefile)
Matthew Wild <mwild1@gmail.com>
parents: 8593
diff changeset
24
8593
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25 .PHONY: all test clean install
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
27 all: prosody.install prosodyctl.install prosody.cfg.lua.install prosody.version
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
28 $(MAKE) -C util-src install
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
29 .if $(EXCERTS) == "yes"
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
30 $(MAKE) -C certs localhost.crt example.com.crt
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
31 .endif
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
32
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
33 install: prosody.install prosodyctl.install prosody.cfg.lua.install util/encodings.so util/encodings.so util/pposix.so util/signal.so
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
34 $(MKDIR) $(BIN) $(CONFIG) $(MODULES) $(SOURCE)
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
35 $(MKDIR_PRIVATE) $(DATA)
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
36 $(MKDIR) $(MAN)/man1
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
37 $(MKDIR) $(CONFIG)/certs
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
38 $(MKDIR) $(SOURCE)/core $(SOURCE)/net $(SOURCE)/util
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
39 $(INSTALL_EXEC) ./prosody.install $(BIN)/prosody
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
40 $(INSTALL_EXEC) ./prosodyctl.install $(BIN)/prosodyctl
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
41 $(INSTALL_DATA) core/*.lua $(SOURCE)/core
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
42 $(INSTALL_DATA) net/*.lua $(SOURCE)/net
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
43 $(MKDIR) $(SOURCE)/net/http $(SOURCE)/net/resolvers $(SOURCE)/net/websocket
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
44 $(INSTALL_DATA) net/http/*.lua $(SOURCE)/net/http
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
45 $(INSTALL_DATA) net/resolvers/*.lua $(SOURCE)/net/resolvers
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
46 $(INSTALL_DATA) net/websocket/*.lua $(SOURCE)/net/websocket
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
47 $(INSTALL_DATA) util/*.lua $(SOURCE)/util
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
48 $(INSTALL_DATA) util/*.so $(SOURCE)/util
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
49 $(MKDIR) $(SOURCE)/util/sasl
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
50 $(INSTALL_DATA) util/sasl/*.lua $(SOURCE)/util/sasl
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
51 $(MKDIR) $(MODULES)/mod_s2s $(MODULES)/mod_pubsub $(MODULES)/adhoc $(MODULES)/muc $(MODULES)/mod_mam
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
52 $(INSTALL_DATA) plugins/*.lua $(MODULES)
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
53 $(INSTALL_DATA) plugins/mod_s2s/*.lua $(MODULES)/mod_s2s
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
54 $(INSTALL_DATA) plugins/mod_pubsub/*.lua $(MODULES)/mod_pubsub
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
55 $(INSTALL_DATA) plugins/adhoc/*.lua $(MODULES)/adhoc
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
56 $(INSTALL_DATA) plugins/muc/*.lua $(MODULES)/muc
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
57 $(INSTALL_DATA) plugins/mod_mam/*.lua $(MODULES)/mod_mam
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
58 .if $(EXCERTS) == "yes"
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
59 $(INSTALL_DATA) certs/localhost.crt certs/localhost.key $(CONFIG)/certs
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
60 $(INSTALL_DATA) certs/example.com.crt certs/example.com.key $(CONFIG)/certs
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
61 .endif
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
62 $(INSTALL_DATA) man/prosodyctl.man $(MAN)/man1/prosodyctl.1
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
63 test -f $(CONFIG)/prosody.cfg.lua || $(INSTALL_DATA) prosody.cfg.lua.install $(CONFIG)/prosody.cfg.lua
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
64 -test -f prosody.version && $(INSTALL_DATA) prosody.version $(SOURCE)/prosody.version
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
65 $(MAKE) install -C util-src
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
66
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
67 clean:
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
68 rm -f prosody.install
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
69 rm -f prosodyctl.install
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
70 rm -f prosody.cfg.lua.install
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
71 rm -f prosody.version
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
72 $(MAKE) clean -C util-src
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
73
9682
814a9d89d2bd makefile: Add lint target (to match GNUMakefile)
Matthew Wild <mwild1@gmail.com>
parents: 8593
diff changeset
74 lint:
814a9d89d2bd makefile: Add lint target (to match GNUMakefile)
Matthew Wild <mwild1@gmail.com>
parents: 8593
diff changeset
75 $(LUACHECK) -q $$(HGPLAIN= hg files -I '**.lua') prosody prosodyctl
814a9d89d2bd makefile: Add lint target (to match GNUMakefile)
Matthew Wild <mwild1@gmail.com>
parents: 8593
diff changeset
76 @echo $$(sed -n '/^\tlocal exclude_files/,/^}/p;' .luacheckrc | sed '1d;$d' | wc -l) files ignored
814a9d89d2bd makefile: Add lint target (to match GNUMakefile)
Matthew Wild <mwild1@gmail.com>
parents: 8593
diff changeset
77 shellcheck configure
814a9d89d2bd makefile: Add lint target (to match GNUMakefile)
Matthew Wild <mwild1@gmail.com>
parents: 8593
diff changeset
78
8593
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
79 test:
9683
bf32f2282b18 makefile: Allow configuring path to busted (to match GNUMakefile)
Matthew Wild <mwild1@gmail.com>
parents: 9682
diff changeset
80 $(BUSTED) --lua=$(RUNWITH)
8593
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
81
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
82
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
83 prosody.install: prosody
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
84 sed "1s| lua$$| $(RUNWITH)|; \
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
85 s|^CFG_SOURCEDIR=.*;$$|CFG_SOURCEDIR='$(INSTALLEDSOURCE)';|; \
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
86 s|^CFG_CONFIGDIR=.*;$$|CFG_CONFIGDIR='$(INSTALLEDCONFIG)';|; \
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
87 s|^CFG_DATADIR=.*;$$|CFG_DATADIR='$(INSTALLEDDATA)';|; \
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
88 s|^CFG_PLUGINDIR=.*;$$|CFG_PLUGINDIR='$(INSTALLEDMODULES)/';|;" < prosody > $@
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
89
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
90 prosodyctl.install: prosodyctl
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
91 sed "1s| lua$$| $(RUNWITH)|; \
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
92 s|^CFG_SOURCEDIR=.*;$$|CFG_SOURCEDIR='$(INSTALLEDSOURCE)';|; \
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
93 s|^CFG_CONFIGDIR=.*;$$|CFG_CONFIGDIR='$(INSTALLEDCONFIG)';|; \
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
94 s|^CFG_DATADIR=.*;$$|CFG_DATADIR='$(INSTALLEDDATA)';|; \
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
95 s|^CFG_PLUGINDIR=.*;$$|CFG_PLUGINDIR='$(INSTALLEDMODULES)/';|;" < prosodyctl > $@
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
96
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
97 prosody.cfg.lua.install: prosody.cfg.lua.dist
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
98 sed 's|certs/|$(INSTALLEDCONFIG)/certs/|' prosody.cfg.lua.dist > $@
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
99
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
100 prosody.version:
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
101 test -f prosody.release && \
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
102 cp prosody.release $@ || \
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
103 test -f .hg_archival.txt && \
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
104 sed -n 's/^node: \(............\).*/\1/p' .hg_archival.txt > $@ || \
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
105 test -f .hg/dirstate && \
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
106 hexdump -n6 -e'6/1 "%02x"' .hg/dirstate > $@ || \
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
107 echo unknown > $@
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
108
c4222e36333c Add makefiles compatible with BSD make
Kim Alvefur <zash@zash.se>
parents:
diff changeset
109