home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 15 / AACD15.ISO / AACD / Magazine / HomeAutomation / Apache / lib / php / build / dynlib.m4 < prev    next >
Encoding:
M4 Source File  |  2000-07-11  |  1.9 KB  |  65 lines

  1.  
  2.  
  3.  
  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)
  9.  
  10. EOF
  11. ])
  12.  
  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)
  19.  
  20. EOF
  21. ])
  22.  
  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)
  28.  
  29. EOF
  30. ])
  31.  
  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=""
  37.   
  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
  43.  
  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
  57.  
  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. ])
  65.