source: protocols/Makefile @ 66b7741

Last change on this file since 66b7741 was b4f496e, checked in by dequis <dx@…>, at 2016-11-19T07:32:48Z

Improve handling of unknown protocols / missing plugins

Instead of failing to load the config, a fake prpl is created to load
the account, keep its settings, and refuse to log in with a helpful
error message.

Also added a new explain_unknown_protocol() function which returns text
which attempts to explain why a protocol is missing, handling several
typical cases, including the future removal of several dead libpurple
plugins.

That message is shown when logging in to a loaded account with a missing
protocol and when adding a new one with 'account add', with the
difference that the latter doesn't leave a placeholder fake account.

  • Property mode set to 100644
File size: 1.3 KB
RevLine 
[b7d3cc34]1###########################
2## Makefile for BitlBee  ##
3##                       ##
4## Copyright 2002 Lintux ##
5###########################
6
7### DEFINITIONS
8
9-include ../Makefile.settings
[7fa5c19]10ifdef _SRCDIR_
11_SRCDIR_ := $(_SRCDIR_)protocols/
[f60079b]12endif
[b7d3cc34]13
14# [SH] Program variables
[b4f496e]15objects = account.o bee.o bee_chat.o bee_ft.o bee_user.o nogaim.o unknown.o
[3ddb7477]16
[b7d3cc34]17
18# [SH] The next two lines should contain the directory name (in $(subdirs))
19#      and the name of the object file, which should be linked into
20#      protocols.o (in $(subdirobjs)). These need to be in order, i.e. the
21#      first object file should be in the first directory.
22subdirs = $(PROTOCOLS)
23subdirobjs = $(PROTOOBJS)
24
25# Expansion of variables
26subdirobjs := $(join $(subdirs),$(addprefix /,$(subdirobjs)))
27LFLAGS += -r
28
29# [SH] Phony targets
30all: protocols.o
[66b9e86e]31check: all
[fc5cf88]32lcov: check
[66b9e86e]33gcov:
34        gcov *.c
[b7d3cc34]35
36.PHONY: all clean distclean $(subdirs)
37
38clean: $(subdirs)
39        rm -f *.o $(OUTFILE) core
40
41distclean: clean $(subdirs)
[b0a89cc]42        rm -rf .depend
[b7d3cc34]43
44$(subdirs):
45        @$(MAKE) -C $@ $(MAKECMDGOALS)
46
47### MAIN PROGRAM
48
49protocols.o: $(objects) $(subdirs)
50        @echo '*' Linking protocols.o
51        @$(LD) $(LFLAGS) $(objects) $(subdirobjs) -o protocols.o
52
53$(objects): ../Makefile.settings Makefile
54
[7fa5c19]55$(objects): %.o: $(_SRCDIR_)%.c
[b7d3cc34]56        @echo '*' Compiling $<
[7281ad1]57        @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
[b0a89cc]58
59-include .depend/*.d
Note: See TracBrowser for help on using the repository browser.