This patch fixes the config structure when dynamic backends are
used - the basic issue is that when the backend was loaded, it wouldn't
(neccessarily) share the config structure with the program that called
it (and had therefore read the config). Thanks to Brett Parker.
gpgwww.c onak-conf.c charfuncs.c sendsync.c log.c photoid.c \
wordlist.c cleankey.c cleanup.c keyarray.c \
$(foreach be,@BACKENDS@,keydb_$(be).c)
gpgwww.c onak-conf.c charfuncs.c sendsync.c log.c photoid.c \
wordlist.c cleankey.c cleanup.c keyarray.c \
$(foreach be,@BACKENDS@,keydb_$(be).c)
ifeq (x@KEYD@, xyes)
PROGS += keyd
ifeq (x@KEYD@, xyes)
PROGS += keyd
LIBS += -ldl
BACKENDS = $(foreach be,@BACKENDS@,libkeydb_$(be).so)
PROGS += keyd
LIBS += -ldl
BACKENDS = $(foreach be,@BACKENDS@,libkeydb_$(be).so)
PROGS += keyd
+PROGS_LDFLAGS_EXTRA = -rdynamic
$(BACKENDS)
keyd: keyd.o $(CORE_OBJS) keydb_$(DBTYPE).o
$(BACKENDS)
keyd: keyd.o $(CORE_OBJS) keydb_$(DBTYPE).o
- $(CC) $(LDFLAGS) -o keyd keyd.o $(CORE_OBJS) keydb_$(DBTYPE).o $(LIBS)
+ $(CC) $(LDFLAGS) $(PROGS_LDFLAGS_EXTRA) \
+ -o keyd keyd.o $(CORE_OBJS) keydb_$(DBTYPE).o $(LIBS)
libkeydb_db4.so: keydb_db4.o
$(CC) -shared $(DB4LIBS) -o libkeydb_db4.so keydb_db4.o $(CORE_OBJS)
libkeydb_db4.so: keydb_db4.o
$(CC) -shared $(DB4LIBS) -o libkeydb_db4.so keydb_db4.o $(CORE_OBJS)
splitkeys: splitkeys.o $(CORE_OBJS) $(KEYDB_OBJ)
$(CC) $(LDFLAGS) -o splitkeys splitkeys.o $(CORE_OBJS) $(KEYDB_OBJ) \
splitkeys: splitkeys.o $(CORE_OBJS) $(KEYDB_OBJ)
$(CC) $(LDFLAGS) -o splitkeys splitkeys.o $(CORE_OBJS) $(KEYDB_OBJ) \
+ $(LIBS) $(PROGS_LDFLAGS_EXTRA)
testparse: main.o $(OBJS)
testparse: main.o $(OBJS)
- $(CC) $(LDFLAGS) -o testparse main.o $(OBJS) $(LIBS)
+ $(CC) $(LDFLAGS) -o testparse main.o $(OBJS) $(LIBS) \
+ $(PROGS_LDFLAGS_EXTRA)
maxpath: maxpath.o $(OBJS)
maxpath: maxpath.o $(OBJS)
- $(CC) $(LDFLAGS) -o maxpath maxpath.o $(OBJS) $(LIBS)
+ $(CC) $(LDFLAGS) -o maxpath maxpath.o $(OBJS) $(LIBS) \
+ $(PROGS_LDFLAGS_EXTRA)
sixdegrees: sixdegrees.o $(OBJS)
sixdegrees: sixdegrees.o $(OBJS)
- $(CC) $(LDFLAGS) -o sixdegrees sixdegrees.o $(OBJS) $(LIBS)
+ $(CC) $(LDFLAGS) -o sixdegrees sixdegrees.o $(OBJS) $(LIBS) \
+ $(PROGS_LDFLAGS_EXTRA)
stripkey: stripkey.o $(OBJS)
stripkey: stripkey.o $(OBJS)
- $(CC) $(LDFLAGS) -o stripkey stripkey.o $(OBJS) $(LIBS)
+ $(CC) $(LDFLAGS) -o stripkey stripkey.o $(OBJS) $(LIBS) \
+ $(PROGS_LDFLAGS_EXTRA)
- $(CC) $(LDFLAGS) -o gpgwww gpgwww.o $(OBJS) $(LIBS)
+ $(CC) $(LDFLAGS) -o gpgwww gpgwww.o $(OBJS) $(LIBS) \
+ $(PROGS_LDFLAGS_EXTRA)
lookup: lookup.o cleankey.o $(CORE_OBJS) $(KEYDB_OBJ)
$(CC) $(LDFLAGS) -o lookup lookup.o cleankey.o $(CORE_OBJS) \
lookup: lookup.o cleankey.o $(CORE_OBJS) $(KEYDB_OBJ)
$(CC) $(LDFLAGS) -o lookup lookup.o cleankey.o $(CORE_OBJS) \
+ $(KEYDB_OBJ) $(LIBS) $(PROGS_LDFLAGS_EXTRA)
add: add.o cleankey.o $(CORE_OBJS) $(KEYDB_OBJ)
$(CC) $(LDFLAGS) -o add add.o cleankey.o \
add: add.o cleankey.o $(CORE_OBJS) $(KEYDB_OBJ)
$(CC) $(LDFLAGS) -o add add.o cleankey.o \
- $(CORE_OBJS) $(KEYDB_OBJ) $(LIBS)
+ $(CORE_OBJS) $(KEYDB_OBJ) $(LIBS) $(PROGS_LDFLAGS_EXTRA)
onak: onak.o cleankey.o $(CORE_OBJS) $(KEYDB_OBJ)
$(CC) $(LDFLAGS) -o onak onak.o cleankey.o \
onak: onak.o cleankey.o $(CORE_OBJS) $(KEYDB_OBJ)
$(CC) $(LDFLAGS) -o onak onak.o cleankey.o \
- $(CORE_OBJS) $(KEYDB_OBJ) $(LIBS)
+ $(CORE_OBJS) $(KEYDB_OBJ) $(LIBS) $(PROGS_LDFLAGS_EXTRA)
onak-conf.o: onak-conf.c onak-conf.h
$(CC) $(CFLAGS) -DCONFIGFILE=\"@sysconfdir@/onak.conf\" -c onak-conf.c
onak-conf.o: onak-conf.c onak-conf.h
$(CC) $(CFLAGS) -DCONFIGFILE=\"@sysconfdir@/onak.conf\" -c onak-conf.c