4 AC_DEFUN(LIB_SHARED_CONVENIENCE,[
5 lib_target="\$(LTLIBRARY_NAME)"
6 cat >>$1<<EOF
7 \$(LTLIBRARY_NAME): \$(LTLIBRARY_SHARED_OBJECTS) \$(LTLIBRARY_DEPENDENCIES)
8 \$(SHARED_LIBTOOL) --mode=link \$(CCLD) \$(CFLAGS) \$(EXTRA_CFLAGS) \$(LDFLAGS) -o \[$]@ \$(LTLIBRARY_LDFLAGS) \$(LTLIBRARY_OBJECTS) \$(LTLIBRARY_SHARED_LIBADD)
10 EOF
11 ])
13 AC_DEFUN(LIB_SHARED_MODULE,[
14 lib_target="\$(LTLIBRARY_SHARED_NAME)"
15 cat >>$1<<EOF
16 \$(LTLIBRARY_SHARED_NAME): \$(LTLIBRARY_SHARED_OBJECTS) \$(LTLIBRARY_DEPENDENCIES)
17 \$(SHARED_LIBTOOL) --mode=link \$(CCLD) \$(CFLAGS) \$(EXTRA_CFLAGS) \$(LDFLAGS) -o \[$]@ -avoid-version -module -rpath \$(phplibdir) \$(LTLIBRARY_LDFLAGS) \$(LTLIBRARY_OBJECTS) \$(LTLIBRARY_SHARED_LIBADD)
18 \$(SHARED_LIBTOOL) --mode=install cp \[$]@ \$(phplibdir)
20 EOF
21 ])
23 AC_DEFUN(LIB_STATIC_CONVENIENCE,[
24 lib_target="\$(LTLIBRARY_NAME)"
25 cat >>$1<<EOF
26 \$(LTLIBRARY_NAME): \$(LTLIBRARY_OBJECTS) \$(LTLIBRARY_DEPENDENCIES)
27 \$(LINK) \$(LTLIBRARY_LDFLAGS) \$(LTLIBRARY_OBJECTS) \$(LTLIBRARY_LIBADD)
29 EOF
30 ])
32 dnl LIB_BUILD(path, shared, convenience)
33 dnl sets up path to build a shared/static convenience/module
34 AC_DEFUN(LIB_BUILD,[
35 lib_makefile="$1/libs.mk"
36 lib_target=""
38 $php_shtool mkdir -p $1
39 cat >$lib_makefile<<EOF
40 LTLIBRARY_OBJECTS = \$(LTLIBRARY_SOURCES:.c=.lo)
41 LTLIBRARY_SHARED_OBJECTS = \$(LTLIBRARY_OBJECTS:.lo=.slo)
42 EOF
44 if test "$2" = "shared" || test "$2" = "yes"; then
45 lib_build_shared=yes
46 if test -n "$3"; then
47 dnl ---------------------------------------- Shared Convenience
48 LIB_SHARED_CONVENIENCE($lib_makefile)
49 else
50 dnl ---------------------------------------- Shared Module
51 LIB_SHARED_MODULE($lib_makefile)
52 fi
53 else
54 dnl ---------------------------------------- Static Convenience = Static Module
55 LIB_STATIC_CONVENIENCE($lib_makefile)
56 fi
58 dnl ---------------------------------------- Generate build targets
59 if test -n "$lib_target"; then
60 cat >>$lib_makefile<<EOF
61 targets = $lib_target
62 EOF
63 fi
64 ])