1 diff -durN postfix-2.1.3.orig/src/dns/Makefile.in postfix-2.1.3/src/dns/Makefile.in
2 --- postfix-2.1.3.orig/src/dns/Makefile.in 2004-04-22 21:37:34.000000000 +0200
3 +++ postfix-2.1.3/src/dns/Makefile.in 2004-06-22 15:39:24.242860389 +0200
6 INC_DIR = ../../include
8 -.c.o:; $(CC) $(CFLAGS) -c $*.c
9 +.c.o:; $(CC) -fPIC $(CFLAGS) -c $*.c
17 - $(AR) $(ARFL) $(LIB) $?
19 + gcc -shared -Wl,-soname,libpostfix-dns.so.1 -o $(LIB) $(OBJS)
21 $(LIB_DIR)/$(LIB): $(LIB)
23 - $(RANLIB) $(LIB_DIR)/$(LIB)
25 update: $(LIB_DIR)/$(LIB) $(HDRS)
27 diff -durN postfix-2.1.3.orig/src/global/mail_conf.c postfix-2.1.3/src/global/mail_conf.c
28 --- postfix-2.1.3.orig/src/global/mail_conf.c 2004-04-10 16:52:51.000000000 +0200
29 +++ postfix-2.1.3/src/global/mail_conf.c 2004-06-22 15:39:24.247860093 +0200
31 path = concatenate(var_config_dir, "/", "main.cf", (char *) 0);
32 dict_load_file(CONFIG_DICT, path);
35 +#ifndef NO_DYNAMIC_MAPS
36 + path = concatenate(var_config_dir, "/", "dynamicmaps.cf", (char *) 0);
37 + dict_open_dlinfo(path);
43 /* mail_conf_eval - expand macros in string */
44 diff -durN postfix-2.1.3.orig/src/master/Makefile.in postfix-2.1.3/src/master/Makefile.in
45 --- postfix-2.1.3.orig/src/master/Makefile.in 2004-04-22 21:37:35.000000000 +0200
46 +++ postfix-2.1.3/src/master/Makefile.in 2004-06-22 15:39:24.249859975 +0200
48 INC_DIR = ../../include
49 BIN_DIR = ../../libexec
51 -.c.o:; $(CC) $(CFLAGS) -c $*.c
52 +.c.o:; $(CC) `for i in $(LIB_OBJ); do [ $$i = $@ ] && echo -fPIC; done` $(CFLAGS) -c $*.c
60 - $(AR) $(ARFL) $(LIB) $?
62 + gcc -shared -Wl,-soname,libpostfix-master.so.1 -o $(LIB) $(LIB_OBJ)
64 $(LIB_DIR)/$(LIB): $(LIB)
65 cp $(LIB) $(LIB_DIR)/$(LIB)
66 - $(RANLIB) $(LIB_DIR)/$(LIB)
68 $(BIN_DIR)/$(PROG): $(PROG)
70 diff -durN postfix-2.1.3.orig/src/util/dict.h postfix-2.1.3/src/util/dict.h
71 --- postfix-2.1.3.orig/src/util/dict.h 2003-07-03 17:04:13.000000000 +0200
72 +++ postfix-2.1.3/src/util/dict.h 2004-06-22 15:39:24.253859738 +0200
75 extern ARGV *dict_mapnames(void);
77 +#ifndef NO_DYNAMIC_MAPS
79 + * Interface for dynamic map loading.
82 + const char *pattern;
84 + const char *openfunc;
87 +extern void dict_open_dlinfo(const char *path);
88 +extern DLINFO *dict_open_dlfind(const char *type);
92 * High-level interface, with logical dictionary names.
94 diff -durN postfix-2.1.3.orig/src/util/dict_open.c postfix-2.1.3/src/util/dict_open.c
95 --- postfix-2.1.3.orig/src/util/dict_open.c 2004-06-22 15:38:57.069468247 +0200
96 +++ postfix-2.1.3/src/util/dict_open.c 2004-06-22 15:39:24.254859679 +0200
101 +#include <sys/stat.h>
104 /* Utility library. */
108 #include <split_at.h>
111 +#ifndef NO_DYNAMIC_MAPS
112 +#include <load_lib.h>
113 +#include <vstring.h>
114 +#include <vstream.h>
115 +#include <vstring_vstream.h>
120 * lookup table for available map types.
124 DICT_TYPE_NETINFO, dict_ni_open,
126 +#ifndef MAX_DYNAMIC_MAPS
128 DICT_TYPE_PCRE, dict_pcre_open,
130 +#endif /* MAX_DYNAMIC_MAPS */
131 #ifdef HAS_POSIX_REGEXP
132 DICT_TYPE_REGEXP, dict_regexp_open,
136 if (dict_open_hash == 0)
138 - if ((dp = (DICT_OPEN_INFO *) htable_find(dict_open_hash, dict_type)) == 0)
139 - msg_fatal("unsupported dictionary type: %s", dict_type);
140 + if ((dp = (DICT_OPEN_INFO *) htable_find(dict_open_hash, dict_type)) == 0) {
141 +#ifndef NO_DYNAMIC_MAPS
143 + VSTRING *lib, *func;
145 + DICT *(*open) (const char *, int, int);
146 + DLINFO *dl=dict_open_dlfind(dict_type);
149 + msg_fatal("%s: unsupported dictionary type: %s", myname, dict_type);
150 +#ifndef NO_DYNAMIC_MAPS
151 + lib=vstring_alloc(1);
152 + vstring_sprintf(lib,dl->soname,dict_type);
153 + if (stat(vstring_str(lib),&st) < 0) {
154 + msg_fatal("%s: unsupported dictionary type: %s (%s not found. Is the postfix-%s package installed?)",
155 + myname, dict_type, vstring_str(lib), dict_type);
157 + func=vstring_alloc(1);
158 + vstring_sprintf(func,dl->openfunc,dict_type);
159 + fn[0].name = vstring_str(func);
160 + fn[0].ptr = (void**)&open;
162 + load_library_symbols(vstring_str(lib), fn, NULL);
163 + dict_open_register(dict_type, open);
164 + dp = (DICT_OPEN_INFO *) htable_find(dict_open_hash, dict_type);
166 + vstring_free(func);
169 + if (msg_verbose>1) {
170 + msg_info("%s: calling %s open routine",myname,dict_type);
172 if ((dict = dp->open(dict_name, open_flags, dict_flags)) == 0)
173 msg_fatal("opening %s:%s %m", dict_type, dict_name);
179 +#ifndef NO_DYNAMIC_MAPS
180 +static DLINFO *dict_dlinfo;
182 +void dict_open_dlinfo(const char *path)
184 + char *myname="dict_open_dlinfo";
185 + VSTREAM *conf_fp=vstream_fopen(path,O_RDONLY,0);
186 + VSTRING *buf = vstring_alloc(100);
193 + dict_dlinfo=(DLINFO*)mvect_alloc(&vector,sizeof(DLINFO),3,NULL,NULL);
196 + msg_warn("%s: cannot open %s. No dynamic maps will be allowed.",
199 + while (vstring_get_nonl(buf,conf_fp) != VSTREAM_EOF) {
200 + cp = vstring_str(buf);
202 + if (*cp == '#' || *cp == '\0')
204 + argv = argv_split(cp, " \t");
205 + if (argv->argc != 3) {
206 + msg_fatal("%s: Expected \"pattern .so-name function\" at line %d",
209 + if (argv->argv[1][0] != '/') {
210 + msg_fatal("%s: .so name must begin with a \"/\" at line %d",
213 + if (nelm >= vector.nelm) {
214 + dict_dlinfo=(DLINFO*)mvect_realloc(&vector,vector.nelm+3);
216 + dict_dlinfo[nelm].pattern = mystrdup(argv->argv[0]);
217 + dict_dlinfo[nelm].soname = mystrdup(argv->argv[1]);
218 + dict_dlinfo[nelm].openfunc = mystrdup(argv->argv[2]);
223 + if (nelm >= vector.nelm) {
224 + dict_dlinfo=(DLINFO*)mvect_realloc(&vector,vector.nelm+1);
226 + dict_dlinfo[nelm].pattern = NULL;
227 + dict_dlinfo[nelm].soname = NULL;
228 + dict_dlinfo[nelm].openfunc = NULL;
230 + vstream_fclose(conf_fp);
234 +DLINFO *dict_open_dlfind(const char *type)
241 + for (dp=dict_dlinfo; dp->pattern; dp++) {
242 + if (strcmp(dp->pattern,type)==0 || strcmp(dp->pattern,"*")==0)
247 +#endif /* !NO_DYNAMIC_MAPS */
252 diff -durN postfix-2.1.3.orig/src/util/load_lib.c postfix-2.1.3/src/util/load_lib.c
253 --- postfix-2.1.3.orig/src/util/load_lib.c 1970-01-01 01:00:00.000000000 +0100
254 +++ postfix-2.1.3/src/util/load_lib.c 2004-06-22 15:39:24.257859501 +0200
260 +/* library loading wrappers
262 +/* #include <load_lib.h>
264 +/* extern int load_library_symbols(const char *, LIB_FN *, LIB_FN *);
265 +/* const char *libname;
266 +/* LIB_FN *libfuncs;
270 +/* This module loads functions from libraries, returnine pointers
271 +/* to the named functions.
273 +/* load_library_symbols() loads all of the desired functions, and
274 +/* returns zero for success, or exits via msg_fatal().
277 +/* msg(3) diagnostics interface
279 +/* Problems are reported via the msg(3) diagnostics routines:
280 +/* library not found, symbols not found, other fatal errors.
284 +/* The Secure Mailer license must be distributed with this software.
287 +/* Hewlett-Packard Company
288 +/* 3404 Harmony Road
289 +/* Fort Collins, CO 80528, USA
292 +/* IBM T.J. Watson Research
294 +/* Yorktown Heights, NY 10598, USA
297 +/* System libraries. */
299 +#include "sys_defs.h"
303 +#if defined(HAS_DLOPEN)
305 +#elif defined(HAS_SHL_LOAD)
309 +/* Application-specific. */
312 +#include "load_lib.h"
314 +extern int load_library_symbols(const char * libname, LIB_FN * libfuncs, LIB_FN * libdata)
316 + char *myname = "load_library_symbols";
319 +#if defined(HAS_DLOPEN)
323 + handle=dlopen(libname,RTLD_NOW);
326 + msg_fatal("%s: dlopen failure loading %s: %s", myname, libname, emsg);
330 + for (fn=libfuncs; fn->name; fn++) {
331 + *(fn->ptr) = dlsym(handle,fn->name);
334 + msg_fatal("%s: dlsym failure looking up %s in %s: %s", myname,
335 + fn->name, libname, emsg);
337 + if (msg_verbose>1) {
338 + msg_info("loaded %s = %lx",fn->name, *((long*)(fn->ptr)));
344 + for (fn=libdata; fn->name; fn++) {
345 + *(fn->ptr) = dlsym(handle,fn->name);
348 + msg_fatal("%s: dlsym failure looking up %s in %s: %s", myname,
349 + fn->name, libname, emsg);
351 + if (msg_verbose>1) {
352 + msg_info("loaded %s = %lx",fn->name, *((long*)(fn->ptr)));
356 +#elif defined(HAS_SHL_LOAD)
359 + handle = shl_load(libname,BIND_IMMEDIATE,0);
362 + for (fn=libfuncs; fn->name; fn++) {
363 + if (shl_findsym(&handle,fn->name,TYPE_PROCEDURE,fn->ptr) != 0) {
364 + msg_fatal("%s: shl_findsym failure looking up %s in %s: %m",
365 + myname, fn->name, libname);
367 + if (msg_verbose>1) {
368 + msg_info("loaded %s = %x",fn->name, *((long*)(fn->ptr)));
374 + for (fn=libdata; fn->name; fn++) {
375 + if (shl_findsym(&handle,fn->name,TYPE_DATA,fn->ptr) != 0) {
376 + msg_fatal("%s: shl_findsym failure looking up %s in %s: %m",
377 + myname, fn->name, libname);
379 + if (msg_verbose>1) {
380 + msg_info("loaded %s = %x",fn->name, *((long*)(fn->ptr)));
386 + msg_fatal("%s: need dlopen or shl_load support for dynamic libraries",
391 diff -durN postfix-2.1.3.orig/src/util/load_lib.h postfix-2.1.3/src/util/load_lib.h
392 --- postfix-2.1.3.orig/src/util/load_lib.h 1970-01-01 01:00:00.000000000 +0100
393 +++ postfix-2.1.3/src/util/load_lib.h 2004-06-22 15:39:24.257859501 +0200
395 +#ifndef _LOAD_LIB_H_INCLUDED_
396 +#define _LOAD_LIB_H_INCLUDED_
402 +/* library loading wrappers
404 +/* #include "load_lib.h"
409 + * External interface.
411 +/* NULL name terminates list */
412 +typedef struct LIB_FN {
417 +extern int load_library_symbols(const char *, LIB_FN *, LIB_FN *);
422 +/* The Secure Mailer license must be distributed with this software.
425 +/* Hewlett-Packard Company
426 +/* 3404 Harmony Road
427 +/* Fort Collins, CO 80528, USA
430 +/* IBM T.J. Watson Research
432 +/* Yorktown Heights, NY 10598, USA
436 --- postfix-2.0.16.orig/conf/dynamicmaps.cf 1970-01-01 01:00:00.000000000 +0100
437 +++ postfix-2.0.16/conf/dynamicmaps.cf 2003-11-08 19:52:14.000000000 +0100
439 +# Postfix dynamic maps configuration file.
441 +# The first match found is the one that is used. The only wildcard
442 +# allowed is '*', which matches everything. The first %s is expanded
445 +#type location of .so file name of open function
446 +#==== ================================ =====================
447 +* /usr/lib/postfix/dict_%s.so dict_%s_open
448 --- postfix-2.3-RC9/src/global/mail_params.c.orig 2006-07-11 19:37:10.708815544 +0200
449 +++ postfix-2.3-RC9/src/global/mail_params.c 2006-07-11 19:38:56.587719504 +0200
451 #ifdef STRCASECMP_IN_STRINGS_H
454 +#include <safe_open.h>
455 +#include <mymalloc.h>
457 /* Utility library. */
460 char *var_debug_peer_list;
461 int var_debug_peer_level;
462 char *var_reject_reply_msg_access_denied;
463 +int var_command_maxtime;
464 int var_fault_inj_code;
465 char *var_bounce_service;
466 char *var_cleanup_service;
468 (long) var_sgid_gid);
471 +static char *read_file(const char *name)
474 + VSTRING *why=vstring_alloc(1);
475 + VSTRING *new_name=vstring_alloc(1);
476 + VSTREAM *vp=safe_open(name, O_RDONLY, 0, NULL, -1, -1, why);
479 + * Ugly macros to make complex expressions less unreadable.
481 +#define SKIP(start, var, cond) \
482 + for (var = start; *var && (cond); var++);
486 + for (p = (s) + strlen(s); p > (s) && ISSPACE(p[-1]); p--); \
491 + msg_fatal("%s: unable to open: %s",name,vstring_str(why));
493 + vstring_get_nonl(new_name,vp);
494 + vstream_fclose(vp);
495 + SKIP(vstring_str(new_name),ret,ISSPACE(*ret));
499 + vstring_free(new_name);
503 /* mail_params_init - configure built-in parameters */
505 void mail_params_init()
506 diff -durN postfix-2.1.3.orig/src/util/sys_defs.h postfix-2.1.3/src/util/sys_defs.h
507 --- postfix-2.1.3.orig/src/util/sys_defs.h 2004-06-22 15:38:57.190461088 +0200
508 +++ postfix-2.1.3/src/util/sys_defs.h 2004-06-22 15:39:24.255859620 +0200
510 #define STATFS_IN_SYS_VFS_H
511 #define PREPEND_PLUS_TO_OPTSTRING
512 #define HAS_POSIX_REGEXP
514 #define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail"
515 #define NATIVE_MAILQ_PATH "/usr/bin/mailq"
516 #define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
518 #define STATFS_IN_SYS_VFS_H
519 #define PREPEND_PLUS_TO_OPTSTRING
520 #define HAS_POSIX_REGEXP
522 #define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail"
523 #define NATIVE_MAILQ_PATH "/usr/bin/mailq"
524 #define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
527 #define STATFS_IN_SYS_VFS_H
528 #define HAS_POSIX_REGEXP
529 +#define HAS_SHL_LOAD
530 #define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail"
531 #define NATIVE_MAILQ_PATH "/usr/bin/mailq"
532 #define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
535 #define STATFS_IN_SYS_VFS_H
536 #define HAS_POSIX_REGEXP
537 +#define HAS_SHL_LOAD
538 #define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail"
539 #define NATIVE_MAILQ_PATH "/usr/bin/mailq"
540 #define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
541 --- postfix-2.8.3/src/util/Makefile.in~ 2011-05-17 13:59:05.580000068 +0200
542 +++ postfix-2.8.3/src/util/Makefile.in 2011-05-17 14:10:13.870000068 +0200
544 username.c valid_hostname.c vbuf.c vbuf_print.c vstream.c \
545 vstream_popen.c vstring.c vstring_vstream.c watchdog.c writable.c \
546 write_buf.c write_wait.c sane_basename.c format_tv.c allspace.c \
547 - allascii.c load_file.c killme_after.c vstream_tweak.c \
548 + allascii.c load_file.c killme_after.c vstream_tweak.c load_lib.c \
549 unix_pass_listen.c unix_pass_trigger.c edit_file.c inet_windowsize.c \
550 unix_pass_fd_fix.c dict_cache.c valid_utf_8.c dict_thash.c \
551 ip_match.c nbbio.c stream_pass_connect.c
553 chroot_uid.o cidr_match.o clean_env.o close_on_exec.o concatenate.o \
554 ctable.o dict.o dict_alloc.o dict_cdb.o dict_cidr.o dict_db.o \
555 dict_dbm.o dict_debug.o dict_env.o dict_ht.o dict_ni.o dict_nis.o \
556 - dict_nisplus.o dict_open.o dict_pcre.o dict_regexp.o dict_sdbm.o \
557 + dict_nisplus.o dict_open.o dict_regexp.o dict_sdbm.o \
558 dict_static.o dict_tcp.o dict_unix.o dir_forest.o doze.o dummy_read.o \
559 dummy_write.o duplex_pipe.o environ.o events.o exec_command.o \
560 fifo_listen.o fifo_trigger.o file_limit.o find_inet.o fsspace.o \
562 username.o valid_hostname.o vbuf.o vbuf_print.o vstream.o \
563 vstream_popen.o vstring.o vstring_vstream.o watchdog.o writable.o \
564 write_buf.o write_wait.o sane_basename.o format_tv.o allspace.o \
565 - allascii.o load_file.o killme_after.o vstream_tweak.o \
566 + allascii.o load_file.o killme_after.o vstream_tweak.o load_lib.o \
567 unix_pass_listen.o unix_pass_trigger.o edit_file.o inet_windowsize.o \
568 unix_pass_fd_fix.o dict_cache.o valid_utf_8.o dict_thash.o \
569 ip_match.o nbbio.o stream_pass_connect.o
571 sigdelay.h sock_addr.h spawn_command.h split_at.h stat_as.h \
572 stringops.h sys_defs.h timed_connect.h timed_wait.h trigger.h \
573 username.h valid_hostname.h vbuf.h vbuf_print.h vstream.h vstring.h \
574 - vstring_vstream.h watchdog.h format_tv.h load_file.h killme_after.h \
575 + vstring_vstream.h watchdog.h format_tv.h load_file.h killme_after.h load_lib.h \
576 edit_file.h dict_cache.h dict_thash.h \
578 TESTSRC = fifo_open.c fifo_rdwr_bug.c fifo_rdonly_bug.c select_bug.c \
580 CFLAGS = $(DEBUG) $(OPT) $(DEFS)
581 FILES = Makefile $(SRCS) $(HDRS)
583 +PCRESO = dict_pcre.so
585 TESTPROG= dict_open dup2_pass_on_exec events exec_command fifo_open \
586 fifo_rdonly_bug fifo_rdwr_bug fifo_trigger fsspace fullname \
590 INC_DIR = ../../include
591 +LIBS = $(LIB_DIR)/$(LIB) $(LIB_DIR)/$(PCRESO)
593 -.c.o:; $(CC) $(CFLAGS) -c $*.c
594 +.c.o:; $(CC) -fPIC $(CFLAGS) -c $*.c
598 @@ -123,15 +125,19 @@
602 +$(PCRESO): dict_pcre.o
603 + gcc -shared -Wl,-soname,dict_pcre.so -o $@ $? -lpcre -L. -lutil
606 - $(AR) $(ARFL) $(LIB) $?
608 + gcc -shared -Wl,-soname,libpostfix-util.so.1 -o $(LIB) $(OBJS) -ldl
610 $(LIB_DIR)/$(LIB): $(LIB)
612 - $(RANLIB) $(LIB_DIR)/$(LIB)
614 -update: $(LIB_DIR)/$(LIB) $(HDRS)
615 +$(LIB_DIR)/$(PCRESO): $(PCRESO)
616 + cp $(PCRESO) $(LIB_DIR)
618 +update: $(LIBS) $(HDRS)
621 cmp -s $$i $(INC_DIR)/$$i 2>/dev/null || cp $$i $(INC_DIR); \
623 lint $(DEFS) $(SRCS) $(LINTFIX)
626 - rm -f *.o $(LIB) *core $(TESTPROG) junk $(MAKES) *.tmp
627 + rm -f *.o $(LIB) $(PCRESO) *core $(TESTPROG) \
628 + junk $(MAKES) *.tmp
632 --- postfix-2.8.3/src/global/mail_dict.c~ 2011-05-17 14:11:58.216666735 +0200
633 +++ postfix-2.8.3/src/global/mail_dict.c 2011-05-17 14:15:04.606666734 +0200
636 static const DICT_OPEN_INFO dict_open_info[] = {
637 DICT_TYPE_PROXY, dict_proxy_open,
639 - DICT_TYPE_LDAP, dict_ldap_open,
642 - DICT_TYPE_MYSQL, dict_mysql_open,
645 - DICT_TYPE_PGSQL, dict_pgsql_open,
648 - DICT_TYPE_SQLITE, dict_sqlite_open,
653 --- postfix-2.8.3/src/global/Makefile.in~ 2011-05-17 14:11:58.243333401 +0200
654 +++ postfix-2.8.3/src/global/Makefile.in 2011-05-17 14:27:36.783333538 +0200
656 canon_addr.o cfg_parser.o cleanup_strerror.o cleanup_strflags.o \
657 clnt_stream.o conv_time.o db_common.o debug_peer.o debug_process.o \
658 defer.o deliver_completed.o deliver_flock.o deliver_pass.o \
659 - deliver_request.o dict_ldap.o dict_mysql.o dict_pgsql.o \
660 + deliver_request.o \
661 dict_proxy.o dict_sqlite.o domain_list.o dot_lockfile.o dot_lockfile_as.o \
662 dsb_scan.o dsn.o dsn_buf.o dsn_mask.o dsn_print.o dsn_util.o \
663 ehlo_mask.o ext_prop.o file_id.o flush_clnt.o header_opts.o \
666 INC_DIR = ../../include
668 +LDAPSO = dict_ldap.so
669 +MYSQLSO = dict_mysql.so
670 +PGSQLSO = dict_pgsql.so
671 +SQLITESO= dict_sqlite.so
673 -.c.o:; $(CC) $(CFLAGS) -c $*.c
674 +.c.o:; $(CC) -fPIC $(CFLAGS) -c $*.c
678 @@ -119,14 +123,36 @@
682 - $(AR) $(ARFL) $(LIB) $?
684 + gcc -shared -Wl,-soname,libpostfix-global.so.1 -o $(LIB) $(OBJS)
686 +$(LDAPSO): dict_ldap.o $(LIB)
687 + gcc -shared -Wl,-soname,dict_ldap.so -o $@ $? -lldap -llber -L../../lib -lutil -L. -lglobal
689 +$(MYSQLSO): dict_mysql.o $(LIB)
690 + gcc -shared -Wl,-soname,dict_mysql.so -o $@ $? -lmysqlclient -L../../lib -lutil -L. -lglobal
692 +$(PGSQLSO): dict_pgsql.o $(LIB)
693 + gcc -shared -Wl,-soname,dict_pgsql.so -o $@ $? -lpq -L../../lib -lutil -L. -lglobal
695 +$(SQLITESO): dict_sqlite.o $(LIB)
696 + gcc -shared -Wl,-soname,dict_sqlite.so -o $@ $? -lsqlite3 -L../../lib -lutil -L. -lglobal
698 $(LIB_DIR)/$(LIB): $(LIB)
700 - $(RANLIB) $(LIB_DIR)/$(LIB)
702 -update: $(LIB_DIR)/$(LIB) $(HDRS)
703 +$(LIB_DIR)/$(LDAPSO): $(LDAPSO)
704 + cp $(LDAPSO) $(LIB_DIR)
706 +$(LIB_DIR)/$(MYSQLSO): $(MYSQLSO)
707 + cp $(MYSQLSO) $(LIB_DIR)
709 +$(LIB_DIR)/$(PGSQLSO): $(PGSQLSO)
710 + cp $(PGSQLSO) $(LIB_DIR)
712 +$(LIB_DIR)/$(SQLITESO): $(SQLITESO)
713 + cp $(SQLITESO) $(LIB_DIR)
715 +update: $(LIB_DIR)/$(LIB) $(LIB_DIR)/${LDAPSO} $(LIB_DIR)/${MYSQLSO} $(LIB_DIR)/${PGSQLSO} $(LIB_DIR)/${SQLITESO} $(HDRS)
718 cmp -s $$i $(INC_DIR)/$$i 2>/dev/null || cp $$i $(INC_DIR); \
720 lint $(DEFS) $(SRCS) $(LINTFIX)
723 - rm -f *.o $(LIB) *core $(TESTPROG) junk
724 + rm -f *.o $(LIB) $(LDAPSO) $(MYSQLSO) $(PGSQLSO) $(SQLITESO) *core $(TESTPROG) junk