Makefile.am 78 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209
  1. # look for included m4 files in the ./m4/ directory
  2. ACLOCAL_AMFLAGS = -I m4
  3. NULLSTRING :=
  4. SPACE := $(NULLSTRING) # the space is between the ) and the #
  5. COLON := $(NULLSTRING):# a colon
  6. QUOTE := $(NULLSTRING)"# a double quote"
  7. #------------------------
  8. # Compiler Flags
  9. #------------------------
  10. #
  11. # First, we setup the definitions from configure.ac
  12. #
  13. PYTHON := python3
  14. if DEBUG
  15. # This allows sccache to work correctly with C files.
  16. BUILDNUM := "\"0000.000.0000\""
  17. else
  18. BUILDNUM := $(shell $(srcdir)/buildnum.py)
  19. endif
  20. NQBUILDNUM := $(subst \,,$(subst $(QUOTE),,$(BUILDNUM)))
  21. DEBUG_DEFINES = @debug_defs@
  22. DEBUG_CFLAGS = @debug_cflags@
  23. DEBUG_CXXFLAGS = @debug_cxxflags@
  24. if CLANG_ENABLE
  25. ASAN_CFLAGS = @asan_cflags@
  26. else
  27. if enable_asan
  28. ASAN_CFLAGS = @asan_cflags@ -lasan
  29. else
  30. ASAN_CFLAGS = @asan_cflags@
  31. endif
  32. GCCSEC_CFLAGS = @gccsec_cflags@
  33. endif
  34. MSAN_CFLAGS = @msan_cflags@
  35. TSAN_CFLAGS = @tsan_cflags@
  36. UBSAN_CFLAGS = @ubsan_cflags@
  37. if CFI_ENABLE
  38. # https://clang.llvm.org/docs/ControlFlowIntegrity.html#available-schemes
  39. # vcall is "forward edge" cfi which is what gives a lot of benefit security wise.
  40. CFI_CFLAGS = -flto=thin -fsanitize=cfi-cast-strict,cfi-vcall -fvisibility=hidden
  41. # Settings we could use in the future
  42. # -fsanitize=cfi-icall,cfi-nvcall,cfi-derived-cast,cfi-unrelated-cast,cfi-mfcall
  43. else
  44. CFI_CFLAGS =
  45. endif
  46. SYSTEMD_DEFINES = @systemd_defs@
  47. CMOCKA_INCLUDES = $(CMOCKA_CFLAGS)
  48. PROFILING_DEFINES = @profiling_defs@
  49. SYSTEMTAP_DEFINES = @systemtap_defs@
  50. NSPR_INCLUDES = $(NSPR_CFLAGS)
  51. # Rust inclusions.
  52. CARGO_FLAGS = @cargo_defs@
  53. if CLANG_ENABLE
  54. RUSTC_FLAGS = @asan_rust_defs@ @msan_rust_defs@ @tsan_rust_defs@ @debug_rust_defs@
  55. RUSTC_LINK_FLAGS = -Clink-arg=-fuse-ld=lld
  56. RUST_LDFLAGS = -ldl -lpthread -lc -lm -lrt -lutil
  57. else
  58. RUSTC_FLAGS = @asan_rust_defs@ @msan_rust_defs@ @tsan_rust_defs@ @debug_rust_defs@
  59. RUSTC_LINK_FLAGS = -Clink-arg=-fuse-ld=ld
  60. # This avoids issues with stderr being double provided with clang + asan.
  61. RUST_LDFLAGS = -ldl -lpthread -lgcc_s -lc -lm -lrt -lutil
  62. endif
  63. RUST_DEFINES = -DRUST_ENABLE
  64. if RUST_ENABLE_OFFLINE
  65. RUST_OFFLINE = --locked --offline
  66. else
  67. RUST_OFFLINE =
  68. endif
  69. if CLANG_ENABLE
  70. CLANG_ON = 1
  71. CLANG_LDFLAGS = -latomic -fuse-ld=lld -Wl,--build-id=sha1
  72. EXPORT_LDFLAGS =
  73. else
  74. CLANG_ON = 0
  75. CLANG_LDFLAGS = -flto
  76. if DEBUG
  77. EXPORT_LDFLAGS = -rdynamic
  78. endif
  79. endif
  80. REWRITERS_INCLUDES = -I$(srcdir)/src/rewriters/
  81. SVRCORE_INCLUDES = -I$(srcdir)/src/svrcore/src/
  82. if CLANG_ENABLE
  83. # clang complains about the -U.
  84. DS_DEFINES = -DBUILD_NUM=$(BUILDNUM) -DVENDOR="\"$(vendor)\"" -DBRAND="\"$(brand)\"" -DCAPBRAND="\"$(capbrand)\""
  85. else
  86. # the -U undefines these symbols - should use the corresponding DS_ ones instead - see configure.ac
  87. DS_DEFINES = -DBUILD_NUM=$(BUILDNUM) -DVENDOR="\"$(vendor)\"" -DBRAND="\"$(brand)\"" -DCAPBRAND="\"$(capbrand)\"" \
  88. -UPACKAGE_VERSION -UPACKAGE_TARNAME -UPACKAGE_STRING -UPACKAGE_BUGREPORT
  89. endif
  90. if WITH_LIBBDB_RO
  91. DS_DEFINES += -DWITH_LIBBDB_RO=1
  92. endif
  93. DS_INCLUDES = -I$(srcdir)/ldap/include -I$(srcdir)/ldap/servers/slapd -I$(srcdir)/include -I.
  94. if enable_asan
  95. ASAN_ON = 1
  96. SANITIZER = ASAN
  97. else
  98. ASAN_ON = 0
  99. endif
  100. if enable_msan
  101. MSAN_ON = 1
  102. SANITIZER = MSAN
  103. else
  104. MSAN_ON = 0
  105. endif
  106. if enable_tsan
  107. TSAN_ON = 1
  108. SANITIZER = TSAN
  109. else
  110. TSAN_ON = 0
  111. endif
  112. if enable_ubsan
  113. UBSAN_ON = 1
  114. SANITIZER = UBSAN
  115. else
  116. UBSAN_ON = 0
  117. endif
  118. if with_systemd
  119. WITH_SYSTEMD = 1
  120. else
  121. WITH_SYSTEMD = 0
  122. endif
  123. # these paths are dependent on the settings of prefix and exec_prefix which may be specified
  124. # at make time. So we cannot use AC_DEFINE in the configure.ac because that would set the
  125. # values prior to their being defined. Defining them here ensures that they are properly
  126. # expanded before use. See create_instance.h for more details. The quoting ensures that
  127. # the values are quoted for the shell command, and the value expands to a quoted string
  128. # value in the header file e.g.
  129. # #define LOCALSTATEDIR "/var"
  130. # without the quotes, it would be
  131. # #define LOCALSTATEDIR /var
  132. # which would be an error
  133. PATH_DEFINES = -DLOCALSTATEDIR="\"$(localstatedir)\"" -DSYSCONFDIR="\"$(sysconfdir)\"" \
  134. -DLIBDIR="\"$(libdir)\"" -DBINDIR="\"$(bindir)\"" \
  135. -DDATADIR="\"$(datadir)\"" -DDOCDIR="\"$(docdir)\"" \
  136. -DSBINDIR="\"$(sbindir)\"" -DPLUGINDIR="\"$(serverplugindir)\"" \
  137. -DTEMPLATEDIR="\"$(sampledatadir)\"" -DSYSTEMSCHEMADIR="\"$(systemschemadir)\"" \
  138. -DLOCALRUNDIR="\"$(localrundir)\""
  139. # Now that we have all our defines in place, setup the CPPFLAGS
  140. # These flags are the "must have" for all components
  141. AM_CPPFLAGS = $(DEBUG_DEFINES) $(PROFILING_DEFINES) $(SYSTEMTAP_DEFINES) $(RUST_DEFINES)
  142. AM_CFLAGS = $(DEBUG_CFLAGS) $(GCCSEC_CFLAGS) $(ASAN_CFLAGS) $(MSAN_CFLAGS) $(TSAN_CFLAGS) $(UBSAN_CFLAGS)
  143. AM_CXXFLAGS = $(DEBUG_CXXFLAGS) $(GCCSEC_CFLAGS) $(ASAN_CFLAGS) $(MSAN_CFLAGS) $(TSAN_CFLAGS) $(UBSAN_CFLAGS)
  144. # Flags for Directory Server
  145. # WARNING: This needs a clean up, because slap.h is a horrible mess and is publically exposed!
  146. DSPLUGIN_CPPFLAGS = $(DS_DEFINES) $(DS_INCLUDES) $(PATH_DEFINES) $(SYSTEMD_DEFINES) @openldap_inc@ $(NSS_CFLAGS) $(NSPR_INCLUDES) $(SYSTEMD_CFLAGS)
  147. # This should give access to internal headers only for tests!!!
  148. DSINTERNAL_CPPFLAGS = -I$(srcdir)/include/ldaputil
  149. # Flags for Datastructure Library
  150. #------------------------
  151. # Linker Flags
  152. #------------------------
  153. CMOCKA_LINKS = $(CMOCKA_LIBS)
  154. PROFILING_LINKS = @profiling_links@
  155. NSPR_LINK = $(NSPR_LIBS)
  156. NSS_LINK = $(NSS_LIBS)
  157. # OpenLDAP 2.5 and newer versions don't have libldap_r shared library (only libldap)
  158. # For the older versions we should compile with libldap_r
  159. if WITH_LIBLDAP_R
  160. LDAPSDK_LINK = @openldap_lib@ -lldap_r@ol_libver@ @ldap_lib_ldif@ -llber@ol_libver@
  161. else
  162. LDAPSDK_LINK = @openldap_lib@ -lldap@ol_libver@ @ldap_lib_ldif@ -llber@ol_libver@
  163. endif
  164. ldaplib = @ldaplib@
  165. ldaplib_defs = @ldaplib_defs@
  166. if WITH_LIBBDB_RO
  167. DB_LINK = @db_lib@ -llmdb
  168. else
  169. if BUNDLE_LIBDB
  170. DB_LINK = -llmdb
  171. else
  172. DB_LINK = @db_lib@ -ldb-@db_libver@ -llmdb
  173. endif
  174. endif
  175. DB_INC = @db_inc@
  176. DB_IMPL = libback-ldbm.la
  177. SASL_LINK = $(SASL_LIBS)
  178. NETSNMP_LINK = @netsnmp_lib@ @netsnmp_link@
  179. PAM_LINK = -lpam
  180. EVENT_LINK = $(EVENT_LIBS)
  181. PW_CRACK_LINK = -lcrack
  182. ZLIB_LINK = -lz
  183. JSON_C_LINK = -ljson-c
  184. LIBSOCKET=@LIBSOCKET@
  185. LIBNSL=@LIBNSL@
  186. LIBDL=@LIBDL@
  187. LIBCSTD=@LIBCSTD@
  188. LIBCRUN=@LIBCRUN@
  189. THREADLIB=@THREADLIB@
  190. LIBCRYPT=@LIBCRYPT@
  191. # We need to make sure that libpthread is linked before libc on HP-UX.
  192. if HPUX
  193. AM_LDFLAGS = -lpthread
  194. else
  195. #AM_LDFLAGS = -Wl,-z,defs
  196. AM_LDFLAGS = $(ZLIB_LINK) $(JSON_C_LINK) $(PW_CRACK_LINK) $(RUST_LDFLAGS) $(ASAN_CFLAGS) $(MSAN_CFLAGS) $(TSAN_CFLAGS) $(UBSAN_CFLAGS) $(PROFILING_LINKS) $(CLANG_LDFLAGS) $(EXPORT_LDFLAGS)
  197. endif #end hpux
  198. # https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info
  199. # So, libtool library versions are described by three integers:
  200. #
  201. # current
  202. #
  203. # The most recent interface number that this library implements.
  204. # revision
  205. #
  206. # The implementation number of the current interface.
  207. # age
  208. #
  209. # The difference between the newest and oldest interfaces that this library implements. In other words, the library implements all the interface numbers in the range from number current - age to current.
  210. #
  211. # Here are a set of rules to help you update your library version information:
  212. #
  213. # Start with version information of ‘0:0:0’ for each libtool library.
  214. # Update the version information only immediately before a public release of your software. More frequent updates are unnecessary, and only guarantee that the current interface number gets larger faster.
  215. # If the library source code has changed at all since the last update, then increment revision (‘c:r:a’ becomes ‘c:r+1:a’).
  216. # If any interfaces have been added, removed, or changed since the last update, increment current, and set revision to 0.
  217. # If any interfaces have been added since the last public release, then increment age.
  218. # If any interfaces have been removed or changed since the last public release, then set age to 0.
  219. SLAPD_LDFLAGS = -version-info 1:0:1
  220. #------------------------
  221. # Generated Sources
  222. #------------------------
  223. BUILT_SOURCES = dberrstrs.h rust-slapi-private.h rust-nsslapd-private.h \
  224. $(POLICY_FC)
  225. if enable_posix_winsync
  226. LIBPOSIX_WINSYNC_PLUGIN = libposix-winsync-plugin.la
  227. endif
  228. CLEANFILES = dberrstrs.h ns-slapd.properties \
  229. ldap/admin/src/template-initconfig \
  230. ldap/ldif/template-baseacis.ldif ldap/ldif/template-bitwise.ldif ldap/ldif/template-country.ldif \
  231. ldap/ldif/template-dnaplugin.ldif ldap/ldif/template-domain.ldif ldap/ldif/template-dse.ldif \
  232. ldap/ldif/template-dse-minimal.ldif \
  233. ldap/ldif/template-ldapi-autobind.ldif ldap/ldif/template-ldapi-default.ldif \
  234. ldap/ldif/template-ldapi.ldif ldap/ldif/template-locality.ldif ldap/ldif/template-org.ldif \
  235. ldap/ldif/template-orgunit.ldif ldap/ldif/template-pampta.ldif ldap/ldif/template-sasl.ldif \
  236. ldap/ldif/template-state.ldif ldap/ldif/template-suffix-db.ldif \
  237. doxyfile.stamp rust-slapi-private.h\
  238. $(NULL)
  239. clean-local:
  240. -rm -rf dist
  241. -rm -rf $(abs_top_builddir)/html
  242. -rm -rf $(abs_top_builddir)/man/man3
  243. -rm -rf $(abs_top_builddir)/rs
  244. dberrstrs.h: Makefile $(srcdir)/ldap/servers/slapd/mkDBErrStrs.py $(srcdir)/ldap/servers/slapd/back-ldbm/dbimpl.h
  245. $(srcdir)/ldap/servers/slapd/mkDBErrStrs.py -i $(srcdir)/ldap/servers/slapd/back-ldbm -o .
  246. #------------------------
  247. # Install Paths
  248. #------------------------
  249. prefixdir = @prefixdir@
  250. configdir = $(sysconfdir)@configdir@
  251. sampledatadir = $(datadir)@sampledatadir@
  252. systemschemadir = $(datadir)@systemschemadir@
  253. propertydir = $(datadir)@propertydir@
  254. schemadir = $(sysconfdir)@schemadir@
  255. serverdir = $(libdir)/@serverdir@
  256. serverplugindir = $(libdir)@serverplugindir@
  257. taskdir = $(datadir)@scripttemplatedir@
  258. systemdsystemunitdir = @with_systemdsystemunitdir@
  259. systemdsystemunitdropindir = @with_systemdsystemunitdir@/$(PACKAGE_NAME)@.service.d
  260. systemdsystemconfdir = @with_systemdsystemconfdir@
  261. systemdgroupname = @with_systemdgroupname@
  262. initdir = @initdir@
  263. initconfigdir = $(sysconfdir)@initconfigdir@
  264. instconfigdir = @instconfigdir@
  265. perldir = $(libdir)@perldir@
  266. pythondir = $(libdir)@pythondir@
  267. infdir = $(datadir)@infdir@
  268. mibdir = $(datadir)@mibdir@
  269. updatedir = $(datadir)@updatedir@
  270. pkgconfigdir = $(libdir)/pkgconfig
  271. serverincdir = $(includedir)/@serverincdir@
  272. gdbautoloaddir = $(prefixdir)/share/gdb/auto-load$(sbindir)
  273. cockpitdir = $(prefixdir)/share/cockpit@cockpitdir@
  274. metainfodir = $(prefixdir)/share/metainfo/389-console
  275. tmpfiles_d = @tmpfiles_d@
  276. # This has to be hardcoded to /lib - $libdir changes between lib/lib64, but
  277. # sysctl.d is always in /lib.
  278. sysctldir = @prefixdir@/lib/sysctl.d
  279. defaultuser=@defaultuser@
  280. defaultgroup=@defaultgroup@
  281. #------------------------
  282. # Build Products
  283. #------------------------
  284. sbin_PROGRAMS = ns-slapd ldap-agent
  285. bin_PROGRAMS = dbscan \
  286. ldclt \
  287. pwdhash
  288. # ----------------------------------------------------------------------------------------
  289. # This odd looking definition is to keep the libraries in ORDER that they are needed. rsds
  290. # is needed by sds, which is needed by ns. So we have a blank LTLIB, then append in order
  291. # based on defines
  292. # ----------------------------------------------------------------------------------------
  293. server_LTLIBRARIES = libslapd.la libldaputil.la libns-dshttpd.la librewriters.la
  294. if WITH_LIBBDB_RO
  295. server_LTLIBRARIES += librobdb.la
  296. endif
  297. lib_LTLIBRARIES = libsvrcore.la
  298. # this is how to add optional plugins
  299. if enable_pam_passthru
  300. LIBPAM_PASSTHRU_PLUGIN = libpam-passthru-plugin.la
  301. enable_pam_passthru = 1
  302. endif
  303. if enable_dna
  304. LIBDNA_PLUGIN = libdna-plugin.la
  305. enable_dna = 1
  306. endif
  307. if enable_bitwise
  308. LIBBITWISE_PLUGIN = libbitwise-plugin.la
  309. enable_bitwise = 1
  310. endif
  311. if enable_acctpolicy
  312. LIBACCTPOLICY_PLUGIN = libacctpolicy-plugin.la
  313. LIBACCTPOLICY_SCHEMA = $(srcdir)/ldap/schema/60acctpolicy.ldif
  314. enable_acctpolicy = 1
  315. endif
  316. serverplugin_LTLIBRARIES = libacl-plugin.la \
  317. libaddn-plugin.la \
  318. libattr-unique-plugin.la \
  319. libautomember-plugin.la $(DB_IMPL) libchainingdb-plugin.la \
  320. libcollation-plugin.la libcos-plugin.la libderef-plugin.la \
  321. libpbe-plugin.la libdistrib-plugin.la \
  322. liblinkedattrs-plugin.la libmanagedentries-plugin.la \
  323. libmemberof-plugin.la libpassthru-plugin.la libpwdstorage-plugin.la \
  324. libcontentsync-plugin.la \
  325. libreferint-plugin.la libreplication-plugin.la libretrocl-plugin.la \
  326. libroles-plugin.la libstatechange-plugin.la libsyntax-plugin.la \
  327. libviews-plugin.la libschemareload-plugin.la libusn-plugin.la \
  328. libacctusability-plugin.la librootdn-access-plugin.la \
  329. libwhoami-plugin.la libalias-entries-plugin.la $(LIBACCTPOLICY_PLUGIN) \
  330. $(LIBPAM_PASSTHRU_PLUGIN) $(LIBDNA_PLUGIN) \
  331. $(LIBBITWISE_PLUGIN) $(LIBPRESENCE_PLUGIN) $(LIBPOSIX_WINSYNC_PLUGIN) \
  332. libentryuuid-plugin.la libentryuuid-syntax-plugin.la libpwdchan-plugin.la
  333. noinst_LIBRARIES = libavl.a
  334. dist_noinst_HEADERS = \
  335. include/i18n.h \
  336. include/netsite.h \
  337. include/base/crit.h \
  338. include/base/dbtbase.h \
  339. include/base/ereport.h \
  340. include/base/file.h \
  341. include/base/fsmutex.h \
  342. include/base/plist.h \
  343. include/base/pool.h \
  344. include/base/shexp.h \
  345. include/base/systems.h \
  346. include/base/systhr.h \
  347. include/base/util.h \
  348. include/ldaputil/cert.h \
  349. include/ldaputil/certmap.h \
  350. include/ldaputil/dbconf.h \
  351. include/ldaputil/encode.h \
  352. include/ldaputil/errors.h \
  353. include/ldaputil/init.h \
  354. include/ldaputil/ldapauth.h \
  355. include/ldaputil/ldaputil.h \
  356. include/libaccess/aclerror.h \
  357. include/libaccess/acleval.h \
  358. include/libaccess/aclglobal.h \
  359. include/libaccess/acl.h \
  360. include/libaccess/aclproto.h \
  361. include/libaccess/aclstruct.h \
  362. include/libaccess/attrec.h \
  363. include/libaccess/authdb.h \
  364. include/libaccess/dbtlibaccess.h \
  365. include/libaccess/dnfstruct.h \
  366. include/libaccess/ipfstruct.h \
  367. include/libaccess/las.h \
  368. include/libaccess/nsautherr.h \
  369. include/libaccess/nsauth.h \
  370. include/libaccess/nserror.h \
  371. include/libaccess/symbols.h \
  372. include/libaccess/userauth.h \
  373. include/libaccess/usi.h \
  374. include/libaccess/usrcache.h \
  375. include/libadmin/dbtlibadmin.h \
  376. include/libadmin/libadmin.h \
  377. include/public/netsite.h \
  378. include/public/nsapi.h \
  379. include/public/base/systems.h \
  380. include/public/nsacl/aclapi.h \
  381. include/public/nsacl/acldef.h \
  382. include/public/nsacl/nserrdef.h \
  383. include/public/nsacl/plistdef.h \
  384. ldap/include/avl.h \
  385. ldap/include/dblayer.h \
  386. ldap/include/disptmpl.h \
  387. ldap/include/ldaprot.h \
  388. ldap/include/portable.h \
  389. ldap/include/regex.h \
  390. ldap/include/srchpref.h \
  391. ldap/include/sysexits-compat.h \
  392. ldap/servers/plugins/addn/addn.h \
  393. ldap/servers/plugins/collation/config.h \
  394. ldap/servers/plugins/collation/collate.h \
  395. ldap/servers/plugins/collation/orfilter.h \
  396. ldap/servers/plugins/chainingdb/cb.h \
  397. ldap/servers/plugins/deref/deref.h \
  398. ldap/servers/plugins/acctpolicy/acctpolicy.h \
  399. ldap/servers/plugins/posix-winsync/posix-wsp-ident.h \
  400. ldap/servers/plugins/posix-winsync/posix-group-func.h \
  401. ldap/servers/plugins/roles/roles_cache.h \
  402. ldap/servers/plugins/usn/usn.h \
  403. ldap/servers/plugins/pwdstorage/pwdstorage.h \
  404. ldap/servers/plugins/pwdstorage/md5.h \
  405. ldap/servers/plugins/acl/acl.h \
  406. ldap/servers/plugins/linkedattrs/linked_attrs.h \
  407. ldap/servers/plugins/rootdn_access/rootdn_access.h \
  408. ldap/servers/plugins/acct_usability/acct_usability.h \
  409. ldap/servers/plugins/retrocl/retrocl.h \
  410. ldap/servers/plugins/uiduniq/plugin-utils.h \
  411. ldap/servers/plugins/memberof/memberof.h \
  412. ldap/servers/plugins/replication/cl5_api.h \
  413. ldap/servers/plugins/replication/llist.h \
  414. ldap/servers/plugins/replication/repl_shared.h \
  415. ldap/servers/plugins/replication/csnpl.h \
  416. ldap/servers/plugins/replication/cl5.h \
  417. ldap/servers/plugins/replication/repl-session-plugin.h \
  418. ldap/servers/plugins/replication/windows_prot_private.h \
  419. ldap/servers/plugins/replication/repl_helper.h \
  420. ldap/servers/plugins/replication/repl5.h \
  421. ldap/servers/plugins/replication/cl5_test.h \
  422. ldap/servers/plugins/replication/repl5_ruv.h \
  423. ldap/servers/plugins/replication/cl5_clcache.h \
  424. ldap/servers/plugins/replication/cl_crypt.h \
  425. ldap/servers/plugins/replication/urp.h \
  426. ldap/servers/plugins/replication/winsync-plugin.h \
  427. ldap/servers/plugins/replication/windowsrepl.h \
  428. ldap/servers/plugins/replication/repl5_prot_private.h \
  429. ldap/servers/plugins/pam_passthru/pam_passthru.h \
  430. ldap/servers/plugins/syntaxes/syntax.h \
  431. ldap/servers/plugins/cos/cos_cache.h \
  432. ldap/servers/plugins/sync/sync.h \
  433. ldap/servers/plugins/passthru/passthru.h \
  434. ldap/servers/plugins/rever/rever.h \
  435. ldap/servers/plugins/automember/automember.h \
  436. ldap/servers/plugins/alias_entries/alias-entries.h \
  437. ldap/servers/plugins/mep/mep.h \
  438. ldap/servers/slapd/agtmmap.h \
  439. ldap/servers/slapd/auth.h \
  440. ldap/servers/slapd/csngen.h \
  441. ldap/servers/slapd/disconnect_errors.h \
  442. ldap/servers/slapd/disconnect_error_strings.h \
  443. ldap/servers/slapd/fe.h \
  444. ldap/servers/slapd/filter.h \
  445. ldap/servers/slapd/getopt_ext.h \
  446. ldap/servers/slapd/getsocketpeer.h \
  447. ldap/servers/slapd/haproxy.h \
  448. ldap/servers/slapd/intrinsics.h \
  449. ldap/servers/slapd/log.h \
  450. ldap/servers/slapd/openldapber.h \
  451. ldap/servers/slapd/pblock_v3.h \
  452. ldap/servers/slapd/poll_using_select.h \
  453. ldap/servers/slapd/prerrstrs.h \
  454. ldap/servers/slapd/protect_db.h \
  455. ldap/servers/slapd/proto-slap.h \
  456. ldap/servers/slapd/pw.h \
  457. ldap/servers/slapd/pw_verify.h \
  458. ldap/servers/slapd/secerrstrs.h \
  459. ldap/servers/slapd/slap.h \
  460. ldap/servers/slapd/slapi_pal.h \
  461. ldap/servers/slapd/slapi-plugin-compat4.h \
  462. ldap/servers/slapd/slapi-plugin.h \
  463. ldap/servers/slapd/slapi-private.h \
  464. ldap/servers/slapd/snmp_collator.h \
  465. ldap/servers/slapd/sslerrstrs.h \
  466. ldap/servers/slapd/statechange.h \
  467. ldap/servers/slapd/uuid.h \
  468. ldap/servers/slapd/vattr_spi.h \
  469. ldap/servers/slapd/views.h \
  470. ldap/servers/slapd/back-ldbm/attrcrypt.h \
  471. ldap/servers/slapd/back-ldbm/back-ldbm.h \
  472. ldap/servers/slapd/back-ldbm/dbimpl.h \
  473. ldap/servers/slapd/back-ldbm/dblayer.h \
  474. ldap/servers/slapd/back-ldbm/import.h \
  475. ldap/servers/slapd/back-ldbm/ldbm_config.h \
  476. ldap/servers/slapd/back-ldbm/proto-back-ldbm.h \
  477. ldap/servers/slapd/back-ldbm/vlv_key.h \
  478. ldap/servers/slapd/back-ldbm/vlv_srch.h \
  479. ldap/servers/slapd/tools/ldaptool.h \
  480. ldap/servers/slapd/tools/ldaptool-sasl.h \
  481. ldap/servers/slapd/tools/ldclt/ldap-private.h \
  482. ldap/servers/slapd/tools/ldclt/ldclt.h \
  483. ldap/servers/slapd/tools/ldclt/port.h \
  484. ldap/servers/slapd/tools/ldclt/remote.h \
  485. ldap/servers/slapd/tools/ldclt/scalab01.h \
  486. ldap/servers/slapd/tools/ldclt/utils.h \
  487. ldap/servers/snmp/ldap-agent.h \
  488. ldap/systools/pio.h \
  489. lib/base/lexer_pvt.h \
  490. lib/base/plist_pvt.h \
  491. lib/ldaputil/ldaputili.h \
  492. lib/libaccess/access_plhash.h \
  493. lib/libaccess/aclcache.h \
  494. lib/libaccess/aclpriv.h \
  495. lib/libaccess/aclscan.h \
  496. lib/libaccess/acl.tab.h \
  497. lib/libaccess/aclutil.h \
  498. lib/libaccess/lasdns.h \
  499. lib/libaccess/las.h \
  500. lib/libaccess/lasip.h \
  501. lib/libaccess/ldapauth.h \
  502. lib/libaccess/oneeval.h \
  503. lib/libaccess/parse.h \
  504. lib/libaccess/permhash.h \
  505. lib/libsi18n/getstrmem.h \
  506. lib/libsi18n/gsslapd.h \
  507. lib/libsi18n/reshash.h \
  508. lib/libsi18n/txtfile.h
  509. if ENABLE_CMOCKA
  510. dist_noinst_HEADERS += \
  511. test/test_slapd.h
  512. endif
  513. dist_noinst_DATA = \
  514. $(srcdir)/buildnum.py \
  515. $(srcdir)/ldap/admin/src/*.in \
  516. $(srcdir)/ldap/admin/src/scripts/*.py \
  517. $(srcdir)/ldap/admin/src/scripts/ds-replcheck \
  518. $(srcdir)/ldap/ldif/*.in \
  519. $(srcdir)/ldap/ldif/*.ldif \
  520. $(srcdir)/ldap/schema/*.ldif \
  521. $(srcdir)/ldap/schema/slapd-collations.conf \
  522. $(srcdir)/ldap/servers/snmp/ldap-agent.conf \
  523. $(srcdir)/ldap/servers/snmp/redhat-directory.mib \
  524. $(srcdir)/ldap/servers/slapd/mkDBErrStrs.py \
  525. $(srcdir)/lib/ldaputil/certmap.conf \
  526. $(srcdir)/m4 \
  527. $(srcdir)/rpm/389-ds-base.spec.in \
  528. $(srcdir)/rpm/389-ds-base-devel.README \
  529. $(srcdir)/README.md \
  530. $(srcdir)/LICENSE \
  531. $(srcdir)/LICENSE.* \
  532. $(srcdir)/VERSION.sh \
  533. $(srcdir)/wrappers/*.in \
  534. $(srcdir)/dirsrvtests \
  535. $(srcdir)/src/lib389/pyproject.toml \
  536. $(srcdir)/src/lib389
  537. #------------------------
  538. # Installed Files
  539. #------------------------
  540. config_DATA = $(srcdir)/lib/ldaputil/certmap.conf \
  541. $(srcdir)/ldap/schema/slapd-collations.conf \
  542. ldap/servers/snmp/ldap-agent.conf
  543. # the schema files in this list are either not
  544. # standard schema, not tested, or not compatible
  545. # with the default schema e.g. there is
  546. # considerable overlap of 60changelog.ldif and 01common.ldif
  547. # and 60inetmail.ldif and 50ns-mail.ldif among others
  548. sampledata_DATA = $(srcdir)/ldap/ldif/Ace.ldif \
  549. $(srcdir)/ldap/ldif/European.ldif \
  550. $(srcdir)/ldap/ldif/Eurosuffix.ldif \
  551. $(srcdir)/ldap/ldif/Example.ldif \
  552. $(srcdir)/ldap/ldif/Example-roles.ldif \
  553. $(srcdir)/ldap/ldif/Example-views.ldif \
  554. $(srcdir)/ldap/ldif/template.ldif \
  555. ldap/ldif/template-dse.ldif \
  556. ldap/ldif/template-dse-minimal.ldif \
  557. ldap/ldif/template-suffix-db.ldif \
  558. ldap/ldif/template-ldapi.ldif \
  559. ldap/ldif/template-ldapi-default.ldif \
  560. ldap/ldif/template-ldapi-autobind.ldif \
  561. ldap/ldif/template-org.ldif \
  562. ldap/ldif/template-domain.ldif \
  563. ldap/ldif/template-state.ldif \
  564. ldap/ldif/template-locality.ldif \
  565. ldap/ldif/template-country.ldif \
  566. ldap/ldif/template-orgunit.ldif \
  567. ldap/ldif/template-baseacis.ldif \
  568. ldap/ldif/template-sasl.ldif \
  569. $(srcdir)/ldap/schema/10rfc2307compat.ldif \
  570. $(srcdir)/ldap/schema/10rfc2307bis.ldif \
  571. $(srcdir)/ldap/schema/60changelog.ldif \
  572. $(srcdir)/ldap/schema/60inetmail.ldif \
  573. $(srcdir)/ldap/schema/60krb5kdc.ldif \
  574. $(srcdir)/ldap/schema/60kerberos.ldif \
  575. $(srcdir)/ldap/schema/60nis.ldif \
  576. $(srcdir)/ldap/schema/60qmail.ldif \
  577. $(srcdir)/ldap/schema/60radius.ldif \
  578. $(srcdir)/ldap/schema/60rfc4876.ldif \
  579. $(srcdir)/ldap/schema/60samba.ldif \
  580. $(srcdir)/ldap/schema/60sendmail.ldif \
  581. $(srcdir)/ldap/schema/dsee.schema \
  582. $(srcdir)/src/lib389/lib389/cli_ctl/dbgen-FamilyNames \
  583. $(srcdir)/src/lib389/lib389/cli_ctl/dbgen-GivenNames \
  584. $(srcdir)/src/lib389/lib389/cli_ctl/dbgen-OrgUnits \
  585. $(LIBPRESENCE_SCHEMA)
  586. systemschema_DATA = $(srcdir)/ldap/schema/00core.ldif \
  587. $(srcdir)/ldap/schema/01core389.ldif \
  588. $(srcdir)/ldap/schema/02common.ldif \
  589. $(srcdir)/ldap/schema/05rfc2927.ldif \
  590. $(srcdir)/ldap/schema/05rfc4523.ldif \
  591. $(srcdir)/ldap/schema/05rfc4524.ldif \
  592. $(srcdir)/ldap/schema/06inetorgperson.ldif \
  593. $(srcdir)/ldap/schema/10automember-plugin.ldif \
  594. $(srcdir)/ldap/schema/10dna-plugin.ldif \
  595. $(srcdir)/ldap/schema/10mep-plugin.ldif \
  596. $(srcdir)/ldap/schema/10rfc2307compat.ldif \
  597. $(srcdir)/ldap/schema/20subscriber.ldif \
  598. $(srcdir)/ldap/schema/25java-object.ldif \
  599. $(srcdir)/ldap/schema/28pilot.ldif \
  600. $(srcdir)/ldap/schema/30ns-common.ldif \
  601. $(srcdir)/ldap/schema/50ns-admin.ldif \
  602. $(srcdir)/ldap/schema/50ns-certificate.ldif \
  603. $(srcdir)/ldap/schema/50ns-directory.ldif \
  604. $(srcdir)/ldap/schema/50ns-mail.ldif \
  605. $(srcdir)/ldap/schema/50ns-value.ldif \
  606. $(srcdir)/ldap/schema/50ns-web.ldif \
  607. $(srcdir)/ldap/schema/60pam-plugin.ldif \
  608. $(srcdir)/ldap/schema/60posix-winsync-plugin.ldif \
  609. $(srcdir)/ldap/schema/60autofs.ldif \
  610. $(srcdir)/ldap/schema/60eduperson.ldif \
  611. $(srcdir)/ldap/schema/60mozilla.ldif \
  612. $(srcdir)/ldap/schema/60pureftpd.ldif \
  613. $(srcdir)/ldap/schema/60rfc2739.ldif \
  614. $(srcdir)/ldap/schema/60rfc3712.ldif \
  615. $(srcdir)/ldap/schema/60sabayon.ldif \
  616. $(srcdir)/ldap/schema/60samba3.ldif \
  617. $(srcdir)/ldap/schema/60sudo.ldif \
  618. $(srcdir)/ldap/schema/60trust.ldif \
  619. $(srcdir)/ldap/schema/60nss-ldap.ldif \
  620. $(srcdir)/ldap/schema/03entryuuid.ldif \
  621. $(LIBACCTPOLICY_SCHEMA)
  622. schema_DATA = $(srcdir)/ldap/schema/99user.ldif
  623. libexec_SCRIPTS =
  624. if SYSTEMD
  625. libexec_SCRIPTS += wrappers/ds_systemd_ask_password_acl wrappers/ds_selinux_restorecon.sh
  626. endif
  627. if ENABLE_COCKPIT
  628. install-data-hook:
  629. if [ "$(srcdir)" != "." ]; then cp -r $(srcdir)/src/cockpit src ; fi
  630. mkdir -p src/cockpit/389-console/cockpit_dist/
  631. mkdir -p $(DESTDIR)$(cockpitdir)
  632. rsync -rupE src/cockpit/389-console/cockpit_dist/ $(DESTDIR)$(cockpitdir)
  633. mkdir -p $(DESTDIR)$(metainfodir)
  634. rsync -up src/cockpit/389-console/org.port389.cockpit_console.metainfo.xml $(DESTDIR)$(metainfodir)/org.port389.cockpit_console.metainfo.xml
  635. endif
  636. sbin_SCRIPTS =
  637. bin_SCRIPTS =
  638. # For scripts that are "as is".
  639. dist_bin_SCRIPTS = ldap/admin/src/scripts/ds-replcheck \
  640. ldap/admin/src/scripts/ds-logpipe.py
  641. dist_bin_SCRIPTS += ldap/admin/src/logconv.pl
  642. dist_bin_SCRIPTS += ldap/admin/src/logconv.py
  643. python_DATA = ldap/admin/src/scripts/failedbinds.py \
  644. ldap/admin/src/scripts/logregex.py
  645. gdbautoload_DATA = ldap/admin/src/scripts/ns-slapd-gdb.py
  646. dist_sysctl_DATA = ldap/admin/src/70-dirsrv.conf
  647. if SYSTEMD
  648. # yes, that is an @ in the filename . . .
  649. systemdsystemunit_DATA = wrappers/$(PACKAGE_NAME)@.service \
  650. wrappers/$(systemdgroupname) \
  651. wrappers/$(PACKAGE_NAME)-snmp.service
  652. if with_sanitizer
  653. systemdsystemunitdropin_DATA = wrappers/$(PACKAGE_NAME)@.service.d/xsan.conf
  654. else
  655. systemdsystemunitdropin_DATA = wrappers/$(PACKAGE_NAME)@.service.d/custom.conf
  656. endif
  657. else
  658. if INITDDIR
  659. init_SCRIPTS = wrappers/$(PACKAGE_NAME) \
  660. wrappers/$(PACKAGE_NAME)-snmp
  661. endif
  662. endif
  663. if INITDDIR
  664. initconfig_DATA = ldap/admin/src/$(PACKAGE_NAME)
  665. endif
  666. inf_DATA = ldap/admin/src/slapd.inf \
  667. ldap/admin/src/defaults.inf
  668. mib_DATA = ldap/servers/snmp/redhat-directory.mib
  669. pkgconfig_DATA = src/pkgconfig/dirsrv.pc \
  670. src/pkgconfig/svrcore.pc
  671. #------------------------
  672. # header files
  673. #------------------------
  674. serverinc_HEADERS = ldap/servers/plugins/replication/repl-session-plugin.h \
  675. ldap/servers/slapd/slapi_pal.h \
  676. ldap/servers/slapd/slapi-plugin.h \
  677. ldap/servers/plugins/replication/winsync-plugin.h
  678. include_HEADERS = src/svrcore/src/svrcore.h
  679. #------------------------
  680. # man pages
  681. #------------------------
  682. dist_man_MANS = man/man1/dbscan.1 \
  683. man/man1/ds-logpipe.py.1 \
  684. man/man1/ds-replcheck.1 \
  685. man/man1/ldap-agent.1 \
  686. man/man1/ldclt.1 \
  687. man/man1/logconv.pl.1 \
  688. man/man1/logconv.py.1 \
  689. man/man1/pwdhash.1 \
  690. man/man5/99user.ldif.5 \
  691. man/man8/ns-slapd.8 \
  692. man/man5/certmap.conf.5 \
  693. man/man5/dirsrv.5 \
  694. man/man5/dirsrv.systemd.5 \
  695. man/man5/slapd-collations.conf.5
  696. #////////////////////////////////////////////////////////////////
  697. #
  698. # Static Server Libraries
  699. #
  700. #////////////////////////////////////////////////////////////////
  701. #------------------------
  702. # libavl
  703. #------------------------
  704. libavl_a_SOURCES = ldap/libraries/libavl/avl.c
  705. libavl_a_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  706. #------------------------
  707. # libldaputil
  708. #------------------------
  709. libldaputil_la_SOURCES = lib/ldaputil/cert.c \
  710. lib/ldaputil/certmap.c \
  711. lib/ldaputil/dbconf.c \
  712. lib/ldaputil/encode.c \
  713. lib/ldaputil/errors.c \
  714. lib/ldaputil/init.c \
  715. lib/ldaputil/ldapauth.c \
  716. lib/ldaputil/vtable.c
  717. libldaputil_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS) $(DSINTERNAL_CPPFLAGS) -I$(srcdir)/lib/ldaputil
  718. libldaputil_la_LIBADD = libslapd.la $(NSS_LINK) $(NSPR_LINK)
  719. libldaputil_la_LDFLAGS = $(AM_LDFLAGS)
  720. #////////////////////////////////////////////////////////////////
  721. #
  722. # Dynamic Server Libraries
  723. #
  724. #////////////////////////////////////////////////////////////////
  725. #------------------------
  726. # librewriters
  727. #------------------------
  728. librewriters_la_SOURCES = \
  729. src/rewriters/adfilter.c
  730. librewriters_la_LDFLAGS = $(AM_LDFLAGS)
  731. librewriters_la_CPPFLAGS = $(AM_CPPFLAGS) $(REWRITERS_INCLUDES) $(DSPLUGIN_CPPFLAGS)
  732. librewriters_la_LIBADD = libslapd.la $(NSS_LINK) $(NSPR_LINK)
  733. #------------------------
  734. # libsvrcore
  735. #------------------------
  736. libsvrcore_la_SOURCES = \
  737. src/svrcore/src/alt.c \
  738. src/svrcore/src/cache.c \
  739. src/svrcore/src/errors.c \
  740. src/svrcore/src/file.c \
  741. src/svrcore/src/ntgetpin.c \
  742. src/svrcore/src/ntresource.h \
  743. src/svrcore/src/pin.c \
  744. src/svrcore/src/pk11.c \
  745. src/svrcore/src/std.c \
  746. src/svrcore/src/systemd-ask-pass.c \
  747. src/svrcore/src/std-systemd.c \
  748. src/svrcore/src/user.c
  749. libsvrcore_la_LDFLAGS = $(AM_LDFLAGS)
  750. libsvrcore_la_CPPFLAGS = $(AM_CPPFLAGS) $(SVRCORE_INCLUDES) $(DSPLUGIN_CPPFLAGS)
  751. libsvrcore_la_LIBADD = $(NSS_LINK) $(NSPR_LINK)
  752. noinst_LTLIBRARIES = librslapd.la librnsslapd.la libentryuuid.la libentryuuid_syntax.la \
  753. libpwdchan.la
  754. ### Why does this exist?
  755. #
  756. # Both cargo and autotools are really opinionated. It's really hard to make this work. :(
  757. #
  758. # https://people.gnome.org/~federico/blog/librsvg-build-infrastructure.html
  759. # https://gitlab.gnome.org/GNOME/librsvg/blob/master/Makefile.am
  760. ### Rust lib slapd components
  761. RSLAPD_LIB = @abs_top_builddir@/rs/rslapd/@rust_target_dir@/librslapd.a
  762. librslapd_la_SOURCES = \
  763. src/librslapd/Cargo.toml \
  764. src/librslapd/build.rs \
  765. src/librslapd/src/cache.rs \
  766. src/librslapd/src/lib.rs
  767. librslapd_la_EXTRA = src/librslapd/Cargo.lock
  768. @abs_top_builddir@/rs/rslapd/@rust_target_dir@/librslapd.a: $(librslapd_la_SOURCES)
  769. RUST_BACKTRACE=1 RUSTC_BOOTSTRAP=1 \
  770. CARGO_TARGET_DIR=$(abs_top_builddir)/rs/rslapd \
  771. SLAPD_DYLIB_DIR=$(abs_top_builddir)/ \
  772. SLAPD_HEADER_DIR=$(abs_top_builddir)/ \
  773. cargo rustc $(RUST_OFFLINE) --manifest-path=$(srcdir)/src/librslapd/Cargo.toml \
  774. $(CARGO_FLAGS) --verbose -- $(RUSTC_FLAGS) $(RUSTC_LINK_FLAGS)
  775. # The header needs the lib build first.
  776. rust-slapi-private.h: @abs_top_builddir@/rs/rslapd/@rust_target_dir@/librslapd.a
  777. # Build rust ns-slapd components as a library.
  778. RNSSLAPD_LIB = @abs_top_builddir@/rs/rnsslapd/@rust_target_dir@/librnsslapd.a
  779. librnsslapd_la_SOURCES = \
  780. src/librnsslapd/Cargo.toml \
  781. src/librnsslapd/build.rs \
  782. src/librnsslapd/src/lib.rs
  783. librnsslapd_la_EXTRA = src/librnsslapd/Cargo.lock
  784. @abs_top_builddir@/rs/rnsslapd/@rust_target_dir@/librnsslapd.a: $(librnsslapd_la_SOURCES)
  785. RUST_BACKTRACE=1 RUSTC_BOOTSTRAP=1 \
  786. CARGO_TARGET_DIR=$(abs_top_builddir)/rs/rnsslapd \
  787. SLAPD_DYLIB_DIR=$(abs_top_builddir)/ \
  788. SLAPD_HEADER_DIR=$(abs_top_builddir)/ \
  789. cargo rustc $(RUST_OFFLINE) --manifest-path=$(srcdir)/src/librnsslapd/Cargo.toml \
  790. $(CARGO_FLAGS) --verbose -- $(RUSTC_FLAGS) $(RUSTC_LINK_FLAGS)
  791. # The header needs the lib build first.
  792. rust-nsslapd-private.h: @abs_top_builddir@/rs/rnsslapd/@rust_target_dir@/librnsslapd.a
  793. libslapi_r_plugin_SOURCES = \
  794. src/slapi_r_plugin/src/backend.rs \
  795. src/slapi_r_plugin/src/ber.rs \
  796. src/slapi_r_plugin/src/charray.rs \
  797. src/slapi_r_plugin/src/constants.rs \
  798. src/slapi_r_plugin/src/dn.rs \
  799. src/slapi_r_plugin/src/entry.rs \
  800. src/slapi_r_plugin/src/error.rs \
  801. src/slapi_r_plugin/src/log.rs \
  802. src/slapi_r_plugin/src/macros.rs \
  803. src/slapi_r_plugin/src/pblock.rs \
  804. src/slapi_r_plugin/src/plugin.rs \
  805. src/slapi_r_plugin/src/search.rs \
  806. src/slapi_r_plugin/src/syntax_plugin.rs \
  807. src/slapi_r_plugin/src/task.rs \
  808. src/slapi_r_plugin/src/value.rs \
  809. src/slapi_r_plugin/src/lib.rs
  810. # Build rust ns-slapd components as a library.
  811. ENTRYUUID_LIB = @abs_top_builddir@/rs/entryuuid/@rust_target_dir@/libentryuuid.a
  812. libentryuuid_la_SOURCES = \
  813. src/plugins/entryuuid/Cargo.toml \
  814. src/plugins/entryuuid/src/lib.rs \
  815. $(libslapi_r_plugin_SOURCES)
  816. libentryuuid_la_EXTRA = src/plugin/entryuuid/Cargo.lock
  817. @abs_top_builddir@/rs/entryuuid/@rust_target_dir@/libentryuuid.a: $(libentryuuid_la_SOURCES) libslapd.la libentryuuid.la
  818. RUST_BACKTRACE=1 RUSTC_BOOTSTRAP=1 \
  819. CARGO_TARGET_DIR=$(abs_top_builddir)/rs/entryuuid \
  820. SLAPD_DYLIB_DIR=$(abs_top_builddir)/ \
  821. SLAPD_HEADER_DIR=$(abs_top_builddir)/ \
  822. cargo rustc $(RUST_OFFLINE) --manifest-path=$(srcdir)/src/plugins/entryuuid/Cargo.toml \
  823. $(CARGO_FLAGS) --verbose -- $(RUSTC_FLAGS) $(RUSTC_LINK_FLAGS)
  824. cp $(ENTRYUUID_LIB) @abs_top_builddir@/.libs/libentryuuid.a
  825. ENTRYUUID_SYNTAX_LIB = @abs_top_builddir@/rs/entryuuid_syntax/@rust_target_dir@/libentryuuid_syntax.a
  826. libentryuuid_syntax_la_SOURCES = \
  827. src/plugins/entryuuid_syntax/Cargo.toml \
  828. src/plugins/entryuuid_syntax/src/lib.rs \
  829. $(libslapi_r_plugin_SOURCES)
  830. libentryuuid_syntax_la_EXTRA = src/plugin/entryuuid_syntax/Cargo.lock
  831. @abs_top_builddir@/rs/entryuuid_syntax/@rust_target_dir@/libentryuuid_syntax.a: $(libentryuuid_syntax_la_SOURCES) libslapd.la libentryuuid_syntax.la
  832. RUST_BACKTRACE=1 RUSTC_BOOTSTRAP=1 \
  833. CARGO_TARGET_DIR=$(abs_top_builddir)/rs/entryuuid_syntax \
  834. SLAPD_DYLIB_DIR=$(abs_top_builddir)/ \
  835. SLAPD_HEADER_DIR=$(abs_top_builddir)/ \
  836. cargo rustc $(RUST_OFFLINE) --manifest-path=$(srcdir)/src/plugins/entryuuid_syntax/Cargo.toml \
  837. $(CARGO_FLAGS) --verbose -- $(RUSTC_FLAGS) $(RUSTC_LINK_FLAGS)
  838. cp $(ENTRYUUID_SYNTAX_LIB) @abs_top_builddir@/.libs/libentryuuid_syntax.a
  839. # == pwdchan
  840. PWDCHAN_LIB = @abs_top_builddir@/rs/pwdchan/@rust_target_dir@/libpwdchan.a
  841. libpwdchan_la_SOURCES = \
  842. src/plugins/pwdchan/Cargo.toml \
  843. src/plugins/pwdchan/src/lib.rs \
  844. $(libslapi_r_plugin_SOURCES)
  845. libpwdchan_la_EXTRA = src/plugin/pwdchan/Cargo.lock
  846. @abs_top_builddir@/rs/pwdchan/@rust_target_dir@/libpwdchan.a: $(libpwdchan_la_SOURCES) libslapd.la libpwdchan.la
  847. RUST_BACKTRACE=1 RUSTC_BOOTSTRAP=1 \
  848. CARGO_TARGET_DIR=$(abs_top_builddir)/rs/pwdchan \
  849. SLAPD_DYLIB_DIR=$(abs_top_builddir)/ \
  850. SLAPD_HEADER_DIR=$(abs_top_builddir)/ \
  851. cargo rustc $(RUST_OFFLINE) --manifest-path=$(srcdir)/src/plugins/pwdchan/Cargo.toml \
  852. $(CARGO_FLAGS) --verbose -- $(RUSTC_FLAGS) $(RUSTC_LINK_FLAGS)
  853. cp $(PWDCHAN_LIB) @abs_top_builddir@/.libs/libpwdchan.a
  854. # == pwdchan
  855. EXTRA_DIST = $(librslapd_la_SOURCES) $(librslapd_la_EXTRA) \
  856. $(libentryuuid_la_SOURCES) $(libentryuuid_la_EXTRA) \
  857. $(libentryuuid_syntax_la_SOURCES) $(libentryuuid_syntax_la_EXTRA) \
  858. $(libpwdchan_la_SOURCES) $(libpwdchan_la_EXTRA) \
  859. $(librnsslapd_la_SOURCES) $(librnsslapd_la_EXTRA)
  860. ## Run rust tests
  861. # cargo does not support offline tests :(
  862. if RUST_ENABLE_OFFLINE
  863. else
  864. if enable_asan
  865. # Distro rust tends not to have proper asan support w_ clang
  866. else
  867. check-local:
  868. for thing in "librslapd" "librnsslapd" ; do \
  869. echo \
  870. LD_LIBRARY_PATH=$(abs_top_builddir)/.libs \
  871. RUSTFLAGS="$(RUSTC_FLAGS)" \
  872. RUST_BACKTRACE=1 RUSTC_BOOTSTRAP=1 \
  873. CARGO_TARGET_DIR=$(abs_top_builddir)/rs/test/$${thing} \
  874. SLAPD_DYLIB_DIR=$(abs_top_builddir)/ \
  875. SLAPD_HEADER_DIR=$(abs_top_builddir)/ \
  876. cargo test $(RUST_OFFLINE) \
  877. --manifest-path=$(srcdir)/src/$${thing}/Cargo.toml -- --nocapture ; \
  878. LD_LIBRARY_PATH=$(abs_top_builddir)/.libs \
  879. RUSTFLAGS="$(RUSTC_FLAGS)" \
  880. RUST_BACKTRACE=1 RUSTC_BOOTSTRAP=1 \
  881. CARGO_TARGET_DIR=$(abs_top_builddir)/rs/test/$${thing} \
  882. SLAPD_DYLIB_DIR=$(abs_top_builddir)/ \
  883. SLAPD_HEADER_DIR=$(abs_top_builddir)/ \
  884. cargo test $(RUST_OFFLINE) \
  885. --manifest-path=$(srcdir)/src/$${thing}/Cargo.toml -- --nocapture ; \
  886. done
  887. # Plugin tests are a little different
  888. for thing in "plugins/pwdchan" ; do \
  889. echo \
  890. LD_LIBRARY_PATH=$(abs_top_builddir)/.libs \
  891. RUSTFLAGS="$(RUSTC_FLAGS)" \
  892. RUST_BACKTRACE=1 RUSTC_BOOTSTRAP=1 \
  893. CARGO_TARGET_DIR=$(abs_top_builddir)/rs/test/$${thing} \
  894. SLAPD_DYLIB_DIR=$(abs_top_builddir)/ \
  895. SLAPD_HEADER_DIR=$(abs_top_builddir)/ \
  896. cargo test $(RUST_OFFLINE) --features=slapi_r_plugin/test_log_direct \
  897. --manifest-path=$(srcdir)/src/$${thing}/Cargo.toml -- --nocapture ; \
  898. LD_LIBRARY_PATH=$(abs_top_builddir)/.libs \
  899. RUSTFLAGS="$(RUSTC_FLAGS)" \
  900. RUST_BACKTRACE=1 RUSTC_BOOTSTRAP=1 \
  901. CARGO_TARGET_DIR=$(abs_top_builddir)/rs/test/$${thing} \
  902. SLAPD_DYLIB_DIR=$(abs_top_builddir)/ \
  903. SLAPD_HEADER_DIR=$(abs_top_builddir)/ \
  904. cargo test $(RUST_OFFLINE) --features=slapi_r_plugin/test_log_direct \
  905. --manifest-path=$(srcdir)/src/$${thing}/Cargo.toml -- --nocapture ; \
  906. done
  907. endif
  908. endif
  909. #------------------------
  910. # libns-dshttpd
  911. #------------------------
  912. libns_dshttpd_la_SOURCES = lib/libaccess/access_plhash.cpp \
  913. lib/libaccess/acl.tab.cpp \
  914. lib/libaccess/acl.yy.cpp \
  915. lib/libaccess/aclcache.cpp \
  916. lib/libaccess/aclerror.cpp \
  917. lib/libaccess/acleval.cpp \
  918. lib/libaccess/aclflush.cpp \
  919. lib/libaccess/aclspace.cpp \
  920. lib/libaccess/acltools.cpp \
  921. lib/libaccess/aclutil.cpp \
  922. lib/libaccess/authdb.cpp \
  923. lib/libaccess/lasdns.cpp \
  924. lib/libaccess/lasgroup.cpp \
  925. lib/libaccess/lasip.cpp \
  926. lib/libaccess/lastod.cpp \
  927. lib/libaccess/lasuser.cpp \
  928. lib/libaccess/method.cpp \
  929. lib/libaccess/nseframe.cpp \
  930. lib/libaccess/nsautherr.cpp \
  931. lib/libaccess/oneeval.cpp \
  932. lib/libaccess/register.cpp \
  933. lib/libaccess/symbols.cpp \
  934. lib/libaccess/usi.cpp \
  935. lib/libaccess/usrcache.cpp \
  936. lib/libadmin/error.c \
  937. lib/libadmin/template.c \
  938. lib/libadmin/util.c \
  939. lib/base/crit.cpp \
  940. lib/base/dnsdmain.cpp \
  941. lib/base/ereport.cpp \
  942. lib/base/file.cpp \
  943. lib/base/fsmutex.cpp \
  944. lib/base/nscperror.c \
  945. lib/base/plist.cpp \
  946. lib/base/pool.cpp \
  947. lib/base/shexp.cpp \
  948. lib/base/system.cpp \
  949. lib/base/systhr.cpp \
  950. lib/base/util.cpp \
  951. lib/libsi18n/getstrprop.c \
  952. lib/libsi18n/reshash.c \
  953. lib/libsi18n/txtfile.c
  954. libns_dshttpd_la_CPPFLAGS = -I$(srcdir)/include/base $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS) -I$(srcdir)/lib/ldaputil
  955. libns_dshttpd_la_LIBADD = libslapd.la libldaputil.la $(LDAPSDK_LINK) $(SASL_LINK) $(NSS_LINK) $(NSPR_LINK)
  956. if CLANG_ENABLE
  957. # This avoids issues with stderr being double provided with clang + asan.
  958. libns_dshttpd_la_LDFLAGS = $(AM_LDFLAGS) -static-libgcc
  959. else
  960. libns_dshttpd_la_LDFLAGS = $(AM_LDFLAGS)
  961. endif
  962. #------------------------
  963. # libslapd
  964. #------------------------
  965. libslapd_la_SOURCES = ldap/servers/slapd/add.c \
  966. ldap/servers/slapd/agtmmap.c \
  967. ldap/servers/slapd/apibroker.c \
  968. ldap/servers/slapd/attr.c \
  969. ldap/servers/slapd/attrlist.c \
  970. ldap/servers/slapd/attrsyntax.c \
  971. ldap/servers/slapd/accesslog.c \
  972. ldap/servers/slapd/auditlog.c \
  973. ldap/servers/slapd/ava.c \
  974. ldap/servers/slapd/backend.c \
  975. ldap/servers/slapd/backend_manager.c \
  976. ldap/servers/slapd/bitset.c \
  977. ldap/servers/slapd/bulk_import.c \
  978. ldap/servers/slapd/charray.c \
  979. ldap/servers/slapd/ch_malloc.c \
  980. ldap/servers/slapd/computed.c \
  981. ldap/servers/slapd/control.c \
  982. ldap/servers/slapd/configdse.c \
  983. ldap/servers/slapd/counters.c \
  984. ldap/servers/slapd/csn.c \
  985. ldap/servers/slapd/csngen.c \
  986. ldap/servers/slapd/csnset.c \
  987. ldap/servers/slapd/defbackend.c \
  988. ldap/servers/slapd/delete.c \
  989. ldap/servers/slapd/dl.c \
  990. ldap/servers/slapd/dn.c \
  991. ldap/servers/slapd/dse.c \
  992. ldap/servers/slapd/dynalib.c \
  993. ldap/servers/slapd/dyncerts.c \
  994. ldap/servers/slapd/entry.c \
  995. ldap/servers/slapd/entrywsi.c \
  996. ldap/servers/slapd/errormap.c \
  997. ldap/servers/slapd/eventq.c \
  998. ldap/servers/slapd/eventq-deprecated.c \
  999. ldap/servers/slapd/factory.c \
  1000. ldap/servers/slapd/features.c \
  1001. ldap/servers/slapd/fileio.c \
  1002. ldap/servers/slapd/filter.c \
  1003. ldap/servers/slapd/filtercmp.c \
  1004. ldap/servers/slapd/filterentry.c \
  1005. ldap/servers/slapd/generation.c \
  1006. ldap/servers/slapd/getfilelist.c \
  1007. ldap/servers/slapd/haproxy.c \
  1008. ldap/servers/slapd/ldapi.c \
  1009. ldap/servers/slapd/ldaputil.c \
  1010. ldap/servers/slapd/lenstr.c \
  1011. ldap/servers/slapd/libglobs.c \
  1012. ldap/servers/slapd/localhost.c \
  1013. ldap/servers/slapd/log.c \
  1014. ldap/servers/slapd/mapping_tree.c \
  1015. ldap/servers/slapd/match.c \
  1016. ldap/servers/slapd/modify.c \
  1017. ldap/servers/slapd/modrdn.c \
  1018. ldap/servers/slapd/modutil.c \
  1019. ldap/servers/slapd/object.c \
  1020. ldap/servers/slapd/objset.c \
  1021. ldap/servers/slapd/operation.c \
  1022. ldap/servers/slapd/opshared.c \
  1023. ldap/servers/slapd/pagedresults.c \
  1024. ldap/servers/slapd/pblock.c \
  1025. ldap/servers/slapd/plugin.c \
  1026. ldap/servers/slapd/plugin_acl.c \
  1027. ldap/servers/slapd/plugin_mmr.c \
  1028. ldap/servers/slapd/plugin_internal_op.c \
  1029. ldap/servers/slapd/plugin_mr.c \
  1030. ldap/servers/slapd/plugin_role.c \
  1031. ldap/servers/slapd/plugin_syntax.c \
  1032. ldap/servers/slapd/protect_db.c \
  1033. ldap/servers/slapd/proxyauth.c \
  1034. ldap/servers/slapd/pw.c \
  1035. ldap/servers/slapd/pw_retry.c \
  1036. ldap/servers/slapd/rdn.c \
  1037. ldap/servers/slapd/referral.c \
  1038. ldap/servers/slapd/regex.c \
  1039. ldap/servers/slapd/resourcelimit.c \
  1040. ldap/servers/slapd/result.c \
  1041. ldap/servers/slapd/rewriters.c \
  1042. ldap/servers/slapd/sasl_map.c \
  1043. ldap/servers/slapd/schema.c \
  1044. ldap/servers/slapd/schemaparse.c \
  1045. ldap/servers/slapd/security_wrappers.c \
  1046. ldap/servers/slapd/slapd_plhash.c \
  1047. ldap/servers/slapd/slapi_counter.c \
  1048. ldap/servers/slapd/slapi-memberof.c \
  1049. ldap/servers/slapd/slapi2runtime.c \
  1050. ldap/servers/slapd/snmp_collator.c \
  1051. ldap/servers/slapd/sort.c \
  1052. ldap/servers/slapd/ssl.c \
  1053. ldap/servers/slapd/str2filter.c \
  1054. ldap/servers/slapd/subentry.c \
  1055. ldap/servers/slapd/task.c \
  1056. ldap/servers/slapd/time.c \
  1057. ldap/servers/slapd/thread_data.c \
  1058. ldap/servers/slapd/uniqueid.c \
  1059. ldap/servers/slapd/uniqueidgen.c \
  1060. ldap/servers/slapd/upgrade.c \
  1061. ldap/servers/slapd/utf8.c \
  1062. ldap/servers/slapd/utf8compare.c \
  1063. ldap/servers/slapd/util.c \
  1064. ldap/servers/slapd/uuid.c \
  1065. ldap/servers/slapd/value.c \
  1066. ldap/servers/slapd/valueset.c \
  1067. ldap/servers/slapd/vattr.c \
  1068. ldap/servers/slapd/slapi_pal.c \
  1069. src/libsds/external/csiphash/csiphash.c \
  1070. $(GETSOCKETPEER) \
  1071. $(libavl_a_SOURCES)
  1072. libslapd_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS) $(SASL_CFLAGS) $(DB_INC) $(KERBEROS_CFLAGS) $(PCRE_CFLAGS) $(SVRCORE_INCLUDES)
  1073. libslapd_la_LIBADD = $(LDAPSDK_LINK) $(SASL_LINK) $(NSS_LINK) $(NSPR_LINK) $(KERBEROS_LIBS) $(PCRE_LIBS) $(THREADLIB) $(SYSTEMD_LIBS) libsvrcore.la $(RSLAPD_LIB) $(OPENSSL_LIBS)
  1074. # If asan is enabled, it creates special libcrypt interceptors. However, they are
  1075. # detected by the first load of libasan at runtime, and what is in the linked lib
  1076. # so we need libcrypt to be present as soon as libasan is loaded for the interceptors
  1077. # to function. Since ns-slapd links libslapd, this is pulled at startup, which allows
  1078. # pwdstorage to be asan checked with libcrypt.
  1079. if enable_asan
  1080. libslapd_la_LIBADD += $(LIBCRYPT)
  1081. endif
  1082. libslapd_la_LDFLAGS = $(AM_LDFLAGS) $(SLAPD_LDFLAGS)
  1083. #////////////////////////////////////////////////////////////////
  1084. #
  1085. # Plugins
  1086. #
  1087. #////////////////////////////////////////////////////////////////
  1088. #------------------------
  1089. # libback-bdb
  1090. #------------------------
  1091. DB_BDB_SRCS = \
  1092. @db_bdb_srcdir@/bdb_config.c \
  1093. @db_bdb_srcdir@/bdb_instance_config.c \
  1094. @db_bdb_srcdir@/bdb_verify.c \
  1095. @db_bdb_srcdir@/bdb_layer.c \
  1096. @db_bdb_srcdir@/bdb_misc.c \
  1097. @db_bdb_srcdir@/bdb_perfctrs.c \
  1098. @db_bdb_srcdir@/bdb_upgrade.c \
  1099. @db_bdb_srcdir@/bdb_version.c \
  1100. @db_bdb_srcdir@/bdb_monitor.c \
  1101. @db_bdb_srcdir@/bdb_ldif2db.c \
  1102. @db_bdb_srcdir@/bdb_import.c \
  1103. @db_bdb_srcdir@/bdb_import_threads.c
  1104. if WITH_LIBBDB_RO
  1105. # db-bdb sources are compiled within libback-ldbm.so and linked to librobdb
  1106. DB_BDB_SRCS += @db_bdb_srcdir@/bdb_bdbreader_glue.c
  1107. DB_BDB_WITHIN_BACKLDBM = $(DB_BDB_SRCS)
  1108. ROBDB_INC = -I$(srcdir)/lib/librobdb/lib
  1109. else
  1110. if BUNDLE_LIBDB
  1111. # db-bdb sources are compiled within libback-bdb.so
  1112. DB_BDB_WITHIN_BACKLDBM =
  1113. serverplugin_LTLIBRARIES += libback-bdb.la
  1114. libback_bdb_la_SOURCES = $(DB_BDB_SRCS)
  1115. libback_bdb_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS) $(DB_INC)
  1116. libback_bdb_la_DEPENDENCIES = libslapd.la libback-ldbm.la
  1117. libback_bdb_la_LIBADD = libslapd.la @db_lib@ -ldb-@db_libver@ $(LDAPSDK_LINK) $(NSPR_LINK)
  1118. libback_bdb_la_LDFLAGS = -avoid-version @db_lib@ -ldb-@db_libver@ -lback-ldbm
  1119. else
  1120. # db-bdb sources are compiled within libback-ldbm.so
  1121. DB_BDB_WITHIN_BACKLDBM = $(DB_BDB_SRCS)
  1122. endif
  1123. endif
  1124. clean-bdb-ro-src:
  1125. /bin/rm -f $(DB_BDB_RO_BUILT_SRCS)
  1126. build-src: $(BUILT_SOURCES)
  1127. echo-src:
  1128. @echo V2 @db_bdbro_srcdir@
  1129. @echo V3 @db_bdb_srcdir@
  1130. @echo V1 $(patsubst %-ro/,%,$(dir $(DB_BDB_RO_BUILT_SRCS)))
  1131. @echo V4 $(DB_BDB_RO_BUILT_SRCS)
  1132. @echo V5 $(DB_BDB_WITHIN_BACKLDBM)
  1133. @echo V6 $(libback_ldbm_la_SOURCES)
  1134. #------------------------
  1135. # libback-ldbm
  1136. #------------------------
  1137. libback_ldbm_la_SOURCES = ldap/servers/slapd/back-ldbm/ancestorid.c \
  1138. ldap/servers/slapd/back-ldbm/archive.c \
  1139. ldap/servers/slapd/back-ldbm/backentry.c \
  1140. ldap/servers/slapd/back-ldbm/cache.c \
  1141. ldap/servers/slapd/back-ldbm/cleanup.c \
  1142. ldap/servers/slapd/back-ldbm/close.c \
  1143. ldap/servers/slapd/back-ldbm/dbimpl.c \
  1144. ldap/servers/slapd/back-ldbm/dblayer.c \
  1145. ldap/servers/slapd/back-ldbm/dbsize.c \
  1146. ldap/servers/slapd/back-ldbm/dn2entry.c \
  1147. ldap/servers/slapd/back-ldbm/entrystore.c \
  1148. ldap/servers/slapd/back-ldbm/filterindex.c \
  1149. ldap/servers/slapd/back-ldbm/findentry.c \
  1150. ldap/servers/slapd/back-ldbm/haschildren.c \
  1151. ldap/servers/slapd/back-ldbm/id2entry.c \
  1152. ldap/servers/slapd/back-ldbm/idl.c \
  1153. ldap/servers/slapd/back-ldbm/idl_shim.c \
  1154. ldap/servers/slapd/back-ldbm/idl_new.c \
  1155. ldap/servers/slapd/back-ldbm/idl_set.c \
  1156. ldap/servers/slapd/back-ldbm/idl_common.c \
  1157. ldap/servers/slapd/back-ldbm/import.c \
  1158. ldap/servers/slapd/back-ldbm/index.c \
  1159. ldap/servers/slapd/back-ldbm/init.c \
  1160. ldap/servers/slapd/back-ldbm/instance.c \
  1161. ldap/servers/slapd/back-ldbm/ldbm_abandon.c \
  1162. ldap/servers/slapd/back-ldbm/ldbm_add.c \
  1163. ldap/servers/slapd/back-ldbm/ldbm_attr.c \
  1164. ldap/servers/slapd/back-ldbm/ldbm_attrcrypt.c \
  1165. ldap/servers/slapd/back-ldbm/ldbm_attrcrypt_config.c \
  1166. ldap/servers/slapd/back-ldbm/ldbm_bind.c \
  1167. ldap/servers/slapd/back-ldbm/ldbm_compare.c \
  1168. ldap/servers/slapd/back-ldbm/ldbm_config.c \
  1169. ldap/servers/slapd/back-ldbm/ldbm_delete.c \
  1170. ldap/servers/slapd/back-ldbm/ldbm_entryrdn.c \
  1171. ldap/servers/slapd/back-ldbm/ldbm_index_config.c \
  1172. ldap/servers/slapd/back-ldbm/ldbm_instance_config.c \
  1173. ldap/servers/slapd/back-ldbm/ldbm_modify.c \
  1174. ldap/servers/slapd/back-ldbm/ldbm_modrdn.c \
  1175. ldap/servers/slapd/back-ldbm/ldbm_search.c \
  1176. ldap/servers/slapd/back-ldbm/ldbm_unbind.c \
  1177. ldap/servers/slapd/back-ldbm/ldbm_usn.c \
  1178. ldap/servers/slapd/back-ldbm/ldif2ldbm.c \
  1179. ldap/servers/slapd/back-ldbm/dbverify.c \
  1180. ldap/servers/slapd/back-ldbm/matchrule.c \
  1181. ldap/servers/slapd/back-ldbm/misc.c \
  1182. ldap/servers/slapd/back-ldbm/nextid.c \
  1183. ldap/servers/slapd/back-ldbm/parents.c \
  1184. ldap/servers/slapd/back-ldbm/rmdb.c \
  1185. ldap/servers/slapd/back-ldbm/seq.c \
  1186. ldap/servers/slapd/back-ldbm/sort.c \
  1187. ldap/servers/slapd/back-ldbm/start.c \
  1188. ldap/servers/slapd/back-ldbm/uniqueid2entry.c \
  1189. ldap/servers/slapd/back-ldbm/vlv.c \
  1190. ldap/servers/slapd/back-ldbm/vlv_key.c \
  1191. ldap/servers/slapd/back-ldbm/vlv_srch.c \
  1192. ldap/servers/slapd/back-ldbm/db-mdb/mdb_config.c \
  1193. ldap/servers/slapd/back-ldbm/db-mdb/mdb_debug.c \
  1194. ldap/servers/slapd/back-ldbm/db-mdb/mdb_instance.c \
  1195. ldap/servers/slapd/back-ldbm/db-mdb/mdb_instance_config.c \
  1196. ldap/servers/slapd/back-ldbm/db-mdb/mdb_verify.c \
  1197. ldap/servers/slapd/back-ldbm/db-mdb/mdb_txn.c \
  1198. ldap/servers/slapd/back-ldbm/db-mdb/mdb_layer.c \
  1199. ldap/servers/slapd/back-ldbm/db-mdb/mdb_misc.c \
  1200. ldap/servers/slapd/back-ldbm/db-mdb/mdb_perfctrs.c \
  1201. ldap/servers/slapd/back-ldbm/db-mdb/mdb_upgrade.c \
  1202. ldap/servers/slapd/back-ldbm/db-mdb/mdb_monitor.c \
  1203. ldap/servers/slapd/back-ldbm/db-mdb/mdb_ldif2db.c \
  1204. ldap/servers/slapd/back-ldbm/db-mdb/mdb_import.c \
  1205. ldap/servers/slapd/back-ldbm/db-mdb/mdb_import_threads.c \
  1206. $(DB_BDB_WITHIN_BACKLDBM)
  1207. libback_ldbm_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS) $(DB_INC) $(ROBDB_INC)
  1208. libback_ldbm_la_DEPENDENCIES = libslapd.la
  1209. libback_ldbm_la_LIBADD = libslapd.la $(DB_LINK) $(LDAPSDK_LINK) $(NSPR_LINK)
  1210. libback_ldbm_la_LDFLAGS = -avoid-version
  1211. if WITH_LIBBDB_RO
  1212. libback_ldbm_la_LIBADD += librobdb.la
  1213. libback_ldbm_la_DEPENDENCIES += librobdb.la
  1214. #------------------------
  1215. # librobdb
  1216. #------------------------
  1217. librobdb_la_SOURCES = lib/librobdb/lib/bdb_ro.c
  1218. librobdb_la_CPPFLAGS = $(AM_CPPFLAGS) $(DB_INC)
  1219. librobdb_la_LDFLAGS = -avoid-version
  1220. librobdb_la_LIBADD =
  1221. endif
  1222. #------------------------
  1223. # libacctpolicy-plugin
  1224. #------------------------
  1225. libacctpolicy_plugin_la_SOURCES = ldap/servers/plugins/acctpolicy/acct_config.c \
  1226. ldap/servers/plugins/acctpolicy/acct_init.c \
  1227. ldap/servers/plugins/acctpolicy/acct_plugin.c \
  1228. ldap/servers/plugins/acctpolicy/acct_util.c
  1229. libacctpolicy_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1230. libacctpolicy_plugin_la_LIBADD = libslapd.la $(NSPR_LINK)
  1231. libacctpolicy_plugin_la_DEPENDENCIES = libslapd.la
  1232. libacctpolicy_plugin_la_LDFLAGS = -avoid-version
  1233. #------------------------
  1234. # libacctusability-plugin
  1235. #------------------------
  1236. libacctusability_plugin_la_SOURCES = ldap/servers/plugins/acct_usability/acct_usability.c
  1237. libacctusability_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1238. libacctusability_plugin_la_LIBADD = libslapd.la $(NSPR_LINK)
  1239. libacctusability_plugin_la_DEPENDENCIES = libslapd.la
  1240. libacctusability_plugin_la_LDFLAGS = -avoid-version
  1241. #------------------------
  1242. # libacl-plugin
  1243. #------------------------
  1244. libacl_plugin_la_SOURCES = ldap/servers/plugins/acl/acl.c \
  1245. ldap/servers/plugins/acl/acl_ext.c \
  1246. ldap/servers/plugins/acl/aclanom.c \
  1247. ldap/servers/plugins/acl/acleffectiverights.c \
  1248. ldap/servers/plugins/acl/aclgroup.c \
  1249. ldap/servers/plugins/acl/aclinit.c \
  1250. ldap/servers/plugins/acl/acllas.c \
  1251. ldap/servers/plugins/acl/acllist.c \
  1252. ldap/servers/plugins/acl/aclparse.c \
  1253. ldap/servers/plugins/acl/aclplugin.c \
  1254. ldap/servers/plugins/acl/aclutil.c
  1255. libacl_plugin_la_CPPFLAGS = -I$(srcdir)/include/libaccess $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1256. libacl_plugin_la_DEPENDENCIES = libslapd.la libns-dshttpd.la
  1257. libacl_plugin_la_LIBADD = libslapd.la libns-dshttpd.la $(LDAPSDK_LINK) $(NSPR_LINK) $(LIBCSTD) $(LIBCRUN)
  1258. libacl_plugin_la_LDFLAGS = -avoid-version
  1259. # libacl_plugin_la_LINK = $(CXXLINK) -avoid-version
  1260. #------------------------
  1261. # libalias-entries-plugin
  1262. #------------------------
  1263. libalias_entries_plugin_la_SOURCES = ldap/servers/plugins/alias_entries/alias-entries.c
  1264. libalias_entries_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1265. libalias_entries_plugin_la_LIBADD = libslapd.la $(NSPR_LINK)
  1266. libalias_entries_plugin_la_DEPENDENCIES = libslapd.la
  1267. libalias_entries_plugin_la_LDFLAGS = -avoid-version
  1268. #------------------------
  1269. # libaddn-plugin
  1270. #------------------------
  1271. libaddn_plugin_la_SOURCES = ldap/servers/plugins/addn/addn.c
  1272. libaddn_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1273. libaddn_plugin_la_LIBADD = libslapd.la $(NSPR_LINK)
  1274. libaddn_plugin_la_DEPENDENCIES = libslapd.la
  1275. libaddn_plugin_la_LDFLAGS = -avoid-version
  1276. #------------------------
  1277. # librootdn-access-plugin
  1278. #------------------------
  1279. #
  1280. librootdn_access_plugin_la_SOURCES = ldap/servers/plugins/rootdn_access/rootdn_access.c
  1281. librootdn_access_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1282. librootdn_access_plugin_la_LIBADD = libslapd.la $(NSPR_LINK)
  1283. librootdn_access_plugin_la_DEPENDENCIES = libslapd.la
  1284. librootdn_access_plugin_la_LDFLAGS = -avoid-version
  1285. #------------------------
  1286. # libautomember-plugin
  1287. #------------------------
  1288. libautomember_plugin_la_SOURCES = ldap/servers/plugins/automember/automember.c
  1289. libautomember_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1290. libautomember_plugin_la_LIBADD = libslapd.la $(NSPR_LINK)
  1291. libautomember_plugin_la_DEPENDENCIES = libslapd.la
  1292. libautomember_plugin_la_LDFLAGS = -avoid-version
  1293. #------------------------
  1294. # libattr-unique-plugin
  1295. #------------------------
  1296. libattr_unique_plugin_la_SOURCES = ldap/servers/plugins/uiduniq/7bit.c \
  1297. ldap/servers/plugins/uiduniq/uid.c \
  1298. ldap/servers/plugins/uiduniq/utils.c
  1299. libattr_unique_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1300. libattr_unique_plugin_la_LIBADD = libslapd.la $(NSPR_LINK)
  1301. libattr_unique_plugin_la_DEPENDENCIES = libslapd.la
  1302. libattr_unique_plugin_la_LDFLAGS = -avoid-version
  1303. #------------------------
  1304. # libbitwise-plugin
  1305. #------------------------
  1306. libbitwise_plugin_la_SOURCES = ldap/servers/plugins/bitwise/bitwise.c
  1307. libbitwise_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1308. libbitwise_plugin_la_LIBADD = libslapd.la
  1309. libbitwise_plugin_la_DEPENDENCIES = libslapd.la
  1310. libbitwise_plugin_la_LDFLAGS = -avoid-version
  1311. #------------------------
  1312. # libchainingdb-plugin
  1313. #------------------------
  1314. libchainingdb_plugin_la_SOURCES = ldap/servers/plugins/chainingdb/cb_abandon.c \
  1315. ldap/servers/plugins/chainingdb/cb_acl.c \
  1316. ldap/servers/plugins/chainingdb/cb_add.c \
  1317. ldap/servers/plugins/chainingdb/cb_bind.c \
  1318. ldap/servers/plugins/chainingdb/cb_cleanup.c \
  1319. ldap/servers/plugins/chainingdb/cb_close.c \
  1320. ldap/servers/plugins/chainingdb/cb_compare.c \
  1321. ldap/servers/plugins/chainingdb/cb_config.c \
  1322. ldap/servers/plugins/chainingdb/cb_conn_stateless.c \
  1323. ldap/servers/plugins/chainingdb/cb_controls.c \
  1324. ldap/servers/plugins/chainingdb/cb_debug.c \
  1325. ldap/servers/plugins/chainingdb/cb_delete.c \
  1326. ldap/servers/plugins/chainingdb/cb_init.c \
  1327. ldap/servers/plugins/chainingdb/cb_instance.c \
  1328. ldap/servers/plugins/chainingdb/cb_modify.c \
  1329. ldap/servers/plugins/chainingdb/cb_modrdn.c \
  1330. ldap/servers/plugins/chainingdb/cb_monitor.c \
  1331. ldap/servers/plugins/chainingdb/cb_schema.c \
  1332. ldap/servers/plugins/chainingdb/cb_search.c \
  1333. ldap/servers/plugins/chainingdb/cb_start.c \
  1334. ldap/servers/plugins/chainingdb/cb_temp.c \
  1335. ldap/servers/plugins/chainingdb/cb_test.c \
  1336. ldap/servers/plugins/chainingdb/cb_unbind.c \
  1337. ldap/servers/plugins/chainingdb/cb_utils.c
  1338. libchainingdb_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1339. libchainingdb_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK)
  1340. libchainingdb_plugin_la_DEPENDENCIES = libslapd.la
  1341. libchainingdb_plugin_la_LDFLAGS = -avoid-version
  1342. #------------------------
  1343. # libcollation-plugin
  1344. #------------------------
  1345. libcollation_plugin_la_SOURCES = ldap/servers/plugins/collation/collate.c \
  1346. ldap/servers/plugins/collation/config.c \
  1347. ldap/servers/plugins/collation/orfilter.c
  1348. libcollation_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS) $(ICU_CFLAGS)
  1349. libcollation_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK) $(ICU_LIBS) $(LIBCSTD) $(LIBCRUN)
  1350. libcollation_plugin_la_DEPENDENCIES = libslapd.la
  1351. libcollation_plugin_la_LDFLAGS = -avoid-version
  1352. # libcollation_plugin_la_LINK = $(CXXLINK) -avoid-version
  1353. #------------------------
  1354. # libcos-plugin
  1355. #------------------------
  1356. libcos_plugin_la_SOURCES = ldap/servers/plugins/cos/cos.c \
  1357. ldap/servers/plugins/cos/cos_cache.c
  1358. libcos_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1359. libcos_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK)
  1360. libcos_plugin_la_DEPENDENCIES = libslapd.la
  1361. libcos_plugin_la_LDFLAGS = -avoid-version
  1362. #------------------------
  1363. # libderef-plugin
  1364. #-----------------------
  1365. libderef_plugin_la_SOURCES = ldap/servers/plugins/deref/deref.c
  1366. libderef_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1367. libderef_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK)
  1368. libderef_plugin_la_DEPENDENCIES = libslapd.la
  1369. libderef_plugin_la_LDFLAGS = -avoid-version
  1370. #------------------------
  1371. # libentryuuid-syntax-plugin
  1372. #-----------------------
  1373. libentryuuid_syntax_plugin_la_SOURCES = src/slapi_r_plugin/src/init.c
  1374. libentryuuid_syntax_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK) -lentryuuid_syntax
  1375. libentryuuid_syntax_plugin_la_DEPENDENCIES = libslapd.la $(ENTRYUUID_SYNTAX_LIB)
  1376. libentryuuid_syntax_plugin_la_LDFLAGS = -avoid-version
  1377. #------------------------
  1378. # libentryuuid-plugin
  1379. #-----------------------
  1380. libentryuuid_plugin_la_SOURCES = src/slapi_r_plugin/src/init.c
  1381. libentryuuid_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK) -lentryuuid
  1382. libentryuuid_plugin_la_DEPENDENCIES = libslapd.la $(ENTRYUUID_LIB)
  1383. libentryuuid_plugin_la_LDFLAGS = -avoid-version
  1384. #------------------------
  1385. # libpwdchan-plugin
  1386. #-----------------------
  1387. libpwdchan_plugin_la_SOURCES = src/slapi_r_plugin/src/init.c
  1388. libpwdchan_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK) -lpwdchan
  1389. libpwdchan_plugin_la_DEPENDENCIES = libslapd.la $(PWDCHAN_LIB)
  1390. libpwdchan_plugin_la_LDFLAGS = -avoid-version
  1391. #------------------------
  1392. # libpbe-plugin
  1393. #-----------------------
  1394. libpbe_plugin_la_SOURCES = ldap/servers/plugins/rever/pbe.c \
  1395. ldap/servers/plugins/rever/rever.c
  1396. libpbe_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS) $(SVRCORE_INCLUDES)
  1397. libpbe_plugin_la_LIBADD = libslapd.la libsvrcore.la $(NSS_LINK)
  1398. libpbe_plugin_la_DEPENDENCIES = libslapd.la
  1399. libpbe_plugin_la_LDFLAGS = -avoid-version
  1400. #------------------------
  1401. # libdistrib-plugin
  1402. #------------------------
  1403. libdistrib_plugin_la_SOURCES = ldap/servers/plugins/distrib/distrib.c
  1404. libdistrib_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1405. libdistrib_plugin_la_LIBADD = libslapd.la
  1406. libdistrib_plugin_la_DEPENDENCIES = libslapd.la
  1407. libdistrib_plugin_la_LDFLAGS = -avoid-version
  1408. #------------------------
  1409. # libdna-plugin
  1410. #------------------------
  1411. libdna_plugin_la_SOURCES = ldap/servers/plugins/dna/dna.c
  1412. libdna_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1413. libdna_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK)
  1414. libdna_plugin_la_DEPENDENCIES = libslapd.la
  1415. libdna_plugin_la_LDFLAGS = -avoid-version
  1416. #------------------------
  1417. # liblinkedattrs-plugin
  1418. #------------------------
  1419. liblinkedattrs_plugin_la_SOURCES = ldap/servers/plugins/linkedattrs/fixup_task.c \
  1420. ldap/servers/plugins/linkedattrs/linked_attrs.c
  1421. liblinkedattrs_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1422. liblinkedattrs_plugin_la_LIBADD = libslapd.la $(NSPR_LINK)
  1423. liblinkedattrs_plugin_la_DEPENDENCIES = libslapd.la
  1424. liblinkedattrs_plugin_la_LDFLAGS = -avoid-version
  1425. #------------------------
  1426. # libmanagedentries-plugin
  1427. #------------------------
  1428. libmanagedentries_plugin_la_SOURCES = ldap/servers/plugins/mep/mep.c
  1429. libmanagedentries_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1430. libmanagedentries_plugin_la_LIBADD = libslapd.la $(NSPR_LINK)
  1431. libmanagedentries_plugin_la_DEPENDENCIES = libslapd.la
  1432. libmanagedentries_plugin_la_LDFLAGS = -avoid-version
  1433. #------------------------
  1434. # libmemberof-plugin
  1435. #------------------------
  1436. libmemberof_plugin_la_SOURCES= ldap/servers/plugins/memberof/memberof.c \
  1437. ldap/servers/plugins/memberof/memberof_config.c
  1438. libmemberof_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1439. libmemberof_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK)
  1440. libmemberof_plugin_la_DEPENDENCIES = libslapd.la
  1441. libmemberof_plugin_la_LDFLAGS = -avoid-version
  1442. #------------------------
  1443. # libpam-passthru-plugin
  1444. #------------------------
  1445. libpam_passthru_plugin_la_SOURCES = ldap/servers/plugins/pam_passthru/pam_ptconfig.c \
  1446. ldap/servers/plugins/pam_passthru/pam_ptdebug.c \
  1447. ldap/servers/plugins/pam_passthru/pam_ptimpl.c \
  1448. ldap/servers/plugins/pam_passthru/pam_ptpreop.c
  1449. libpam_passthru_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1450. libpam_passthru_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK) $(PAM_LINK)
  1451. libpam_passthru_plugin_la_DEPENDENCIES = libslapd.la
  1452. libpam_passthru_plugin_la_LDFLAGS = -avoid-version
  1453. #------------------------
  1454. # libpassthru-plugin
  1455. #------------------------
  1456. libpassthru_plugin_la_SOURCES = ldap/servers/plugins/passthru/ptbind.c \
  1457. ldap/servers/plugins/passthru/ptconfig.c \
  1458. ldap/servers/plugins/passthru/ptconn.c \
  1459. ldap/servers/plugins/passthru/ptdebug.c \
  1460. ldap/servers/plugins/passthru/ptpreop.c \
  1461. ldap/servers/plugins/passthru/ptutil.c
  1462. libpassthru_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1463. libpassthru_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK)
  1464. libpassthru_plugin_la_DEPENDENCIES = libslapd.la
  1465. libpassthru_plugin_la_LDFLAGS = -avoid-version
  1466. #------------------------
  1467. # libposix-winsync-plugin
  1468. #------------------------
  1469. libposix_winsync_plugin_la_SOURCES = ldap/servers/plugins/posix-winsync/posix-winsync.c \
  1470. ldap/servers/plugins/posix-winsync/posix-group-func.c \
  1471. ldap/servers/plugins/posix-winsync/posix-group-task.c \
  1472. ldap/servers/plugins/posix-winsync/posix-winsync-config.c
  1473. libposix_winsync_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS) -DWINSYNC_TEST_POSIX \
  1474. -I$(srcdir)/ldap/servers/plugins/replication
  1475. libposix_winsync_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK)
  1476. libposix_winsync_plugin_la_DEPENDENCIES = libslapd.la
  1477. libposix_winsync_plugin_la_LDFLAGS = -avoid-version
  1478. #------------------------
  1479. # libpwdstorage-plugin
  1480. #------------------------
  1481. libpwdstorage_plugin_la_SOURCES = ldap/servers/plugins/pwdstorage/clear_pwd.c \
  1482. ldap/servers/plugins/pwdstorage/crypt_pwd.c \
  1483. ldap/servers/plugins/pwdstorage/md5_pwd.c \
  1484. ldap/servers/plugins/pwdstorage/md5c.c \
  1485. ldap/servers/plugins/pwdstorage/ns-mta-md5_pwd.c \
  1486. ldap/servers/plugins/pwdstorage/pwd_init.c \
  1487. ldap/servers/plugins/pwdstorage/pwd_util.c \
  1488. ldap/servers/plugins/pwdstorage/sha_pwd.c \
  1489. ldap/servers/plugins/pwdstorage/smd5_pwd.c \
  1490. ldap/servers/plugins/pwdstorage/ssha_pwd.c \
  1491. ldap/servers/plugins/pwdstorage/pbkdf2_pwd.c \
  1492. ldap/servers/plugins/pwdstorage/gost_yescrypt.c \
  1493. $(NULLSTRING)
  1494. libpwdstorage_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1495. libpwdstorage_plugin_la_LIBADD = libslapd.la $(NSS_LINK) $(NSPR_LINK) $(LIBCRYPT)
  1496. libpwdstorage_plugin_la_DEPENDENCIES = libslapd.la
  1497. libpwdstorage_plugin_la_LDFLAGS = -avoid-version
  1498. #------------------------
  1499. # libcontentsync-plugin
  1500. #------------------------
  1501. libcontentsync_plugin_la_SOURCES = ldap/servers/plugins/sync/sync_init.c \
  1502. ldap/servers/plugins/sync/sync_util.c \
  1503. ldap/servers/plugins/sync/sync_refresh.c \
  1504. ldap/servers/plugins/sync/sync_persist.c
  1505. libcontentsync_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1506. libcontentsync_plugin_la_LIBADD = libslapd.la $(NSS_LINK) $(NSPR_LINK) $(LIBCRYPT)
  1507. libcontentsync_plugin_la_DEPENDENCIES = libslapd.la
  1508. libcontentsync_plugin_la_LDFLAGS = -avoid-version
  1509. #------------------------
  1510. # libreferint-plugin
  1511. #------------------------
  1512. libreferint_plugin_la_SOURCES = ldap/servers/plugins/referint/referint.c
  1513. libreferint_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1514. libreferint_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK)
  1515. libreferint_plugin_la_DEPENDENCIES = libslapd.la
  1516. libreferint_plugin_la_LDFLAGS = -avoid-version
  1517. #------------------------
  1518. # libreplication-plugin
  1519. #------------------------
  1520. libreplication_plugin_la_SOURCES = ldap/servers/plugins/replication/cl5_api.c \
  1521. ldap/servers/plugins/replication/cl5_clcache.c \
  1522. ldap/servers/plugins/replication/cl5_config.c \
  1523. ldap/servers/plugins/replication/cl5_init.c \
  1524. ldap/servers/plugins/replication/cl_crypt.c \
  1525. ldap/servers/plugins/replication/csnpl.c \
  1526. ldap/servers/plugins/replication/llist.c \
  1527. ldap/servers/plugins/replication/repl_connext.c \
  1528. ldap/servers/plugins/replication/repl_controls.c \
  1529. ldap/servers/plugins/replication/repl_ext.c \
  1530. ldap/servers/plugins/replication/repl_extop.c \
  1531. ldap/servers/plugins/replication/repl_globals.c \
  1532. ldap/servers/plugins/replication/repl_opext.c \
  1533. ldap/servers/plugins/replication/repl_session_plugin.c \
  1534. ldap/servers/plugins/replication/repl_cleanallruv.c \
  1535. ldap/servers/plugins/replication/repl5_agmt.c \
  1536. ldap/servers/plugins/replication/repl5_agmtlist.c \
  1537. ldap/servers/plugins/replication/repl5_backoff.c \
  1538. ldap/servers/plugins/replication/repl5_connection.c \
  1539. ldap/servers/plugins/replication/repl5_inc_protocol.c \
  1540. ldap/servers/plugins/replication/repl5_init.c \
  1541. ldap/servers/plugins/replication/repl5_mtnode_ext.c \
  1542. ldap/servers/plugins/replication/repl5_plugins.c \
  1543. ldap/servers/plugins/replication/repl5_protocol.c \
  1544. ldap/servers/plugins/replication/repl5_protocol_util.c \
  1545. ldap/servers/plugins/replication/repl5_replica.c \
  1546. ldap/servers/plugins/replication/repl5_replica_config.c \
  1547. ldap/servers/plugins/replication/repl5_replica_dnhash.c \
  1548. ldap/servers/plugins/replication/repl5_replica_hash.c \
  1549. ldap/servers/plugins/replication/repl5_ruv.c \
  1550. ldap/servers/plugins/replication/repl5_schedule.c \
  1551. ldap/servers/plugins/replication/repl5_tot_protocol.c \
  1552. ldap/servers/plugins/replication/repl5_total.c \
  1553. ldap/servers/plugins/replication/repl5_updatedn_list.c \
  1554. ldap/servers/plugins/replication/replutil.c \
  1555. ldap/servers/plugins/replication/urp.c \
  1556. ldap/servers/plugins/replication/urp_glue.c \
  1557. ldap/servers/plugins/replication/urp_tombstone.c \
  1558. ldap/servers/plugins/replication/windows_connection.c \
  1559. ldap/servers/plugins/replication/windows_inc_protocol.c \
  1560. ldap/servers/plugins/replication/windows_private.c \
  1561. ldap/servers/plugins/replication/windows_protocol_util.c \
  1562. ldap/servers/plugins/replication/windows_tot_protocol.c
  1563. libreplication_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS) $(ICU_CFLAGS) $(DB_INC)
  1564. libreplication_plugin_la_LIBADD = libslapd.la libback-ldbm.la $(LDAPSDK_LINK) $(NSS_LINK) $(NSPR_LINK) $(ICU_LIBS) $(DB_LINK)
  1565. libreplication_plugin_la_DEPENDENCIES = libslapd.la libback-ldbm.la
  1566. libreplication_plugin_la_LDFLAGS = -avoid-version
  1567. #------------------------
  1568. # libretrocl-plugin
  1569. #------------------------
  1570. libretrocl_plugin_la_SOURCES = ldap/servers/plugins/retrocl/retrocl.c \
  1571. ldap/servers/plugins/retrocl/retrocl_cn.c \
  1572. ldap/servers/plugins/retrocl/retrocl_create.c \
  1573. ldap/servers/plugins/retrocl/retrocl_po.c \
  1574. ldap/servers/plugins/retrocl/retrocl_rootdse.c \
  1575. ldap/servers/plugins/retrocl/retrocl_trim.c
  1576. libretrocl_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1577. libretrocl_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK)
  1578. libretrocl_plugin_la_DEPENDENCIES = libslapd.la
  1579. libretrocl_plugin_la_LDFLAGS = -avoid-version
  1580. #------------------------
  1581. # libroles-plugin
  1582. #------------------------
  1583. libroles_plugin_la_SOURCES = ldap/servers/plugins/roles/roles_cache.c \
  1584. ldap/servers/plugins/roles/roles_plugin.c
  1585. libroles_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1586. libroles_plugin_la_LIBADD = libslapd.la $(NSPR_LINK)
  1587. libroles_plugin_la_DEPENDENCIES = libslapd.la
  1588. libroles_plugin_la_LDFLAGS = -avoid-version
  1589. #------------------------
  1590. # libschemareload-plugin
  1591. #------------------------
  1592. libschemareload_plugin_la_SOURCES = ldap/servers/plugins/schema_reload/schema_reload.c
  1593. libschemareload_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1594. libschemareload_plugin_la_LIBADD = libslapd.la $(NSPR_LINK)
  1595. libschemareload_plugin_la_DEPENDENCIES = libslapd.la
  1596. libschemareload_plugin_la_LDFLAGS = -avoid-version
  1597. #------------------------
  1598. # libstatechange-plugin
  1599. #------------------------
  1600. libstatechange_plugin_la_SOURCES = ldap/servers/plugins/statechange/statechange.c
  1601. libstatechange_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1602. libstatechange_plugin_la_LIBADD = libslapd.la
  1603. libstatechange_plugin_la_DEPENDENCIES = libslapd.la
  1604. libstatechange_plugin_la_LDFLAGS = -avoid-version
  1605. #------------------------
  1606. # libsyntax-plugin
  1607. #------------------------
  1608. libsyntax_plugin_la_SOURCES = ldap/servers/plugins/syntaxes/bin.c \
  1609. ldap/servers/plugins/syntaxes/bitstring.c \
  1610. ldap/servers/plugins/syntaxes/ces.c \
  1611. ldap/servers/plugins/syntaxes/cis.c \
  1612. ldap/servers/plugins/syntaxes/debug.c \
  1613. ldap/servers/plugins/syntaxes/dn.c \
  1614. ldap/servers/plugins/syntaxes/deliverymethod.c \
  1615. ldap/servers/plugins/syntaxes/facsimile.c \
  1616. ldap/servers/plugins/syntaxes/guide.c \
  1617. ldap/servers/plugins/syntaxes/int.c \
  1618. ldap/servers/plugins/syntaxes/inchain.c \
  1619. ldap/servers/plugins/syntaxes/nameoptuid.c \
  1620. ldap/servers/plugins/syntaxes/numericstring.c \
  1621. ldap/servers/plugins/syntaxes/phonetic.c \
  1622. ldap/servers/plugins/syntaxes/sicis.c \
  1623. ldap/servers/plugins/syntaxes/string.c \
  1624. ldap/servers/plugins/syntaxes/syntax_common.c \
  1625. ldap/servers/plugins/syntaxes/tel.c \
  1626. ldap/servers/plugins/syntaxes/telex.c \
  1627. ldap/servers/plugins/syntaxes/teletex.c \
  1628. ldap/servers/plugins/syntaxes/validate.c \
  1629. ldap/servers/plugins/syntaxes/validate_task.c \
  1630. ldap/servers/plugins/syntaxes/value.c
  1631. libsyntax_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1632. libsyntax_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK)
  1633. libsyntax_plugin_la_DEPENDENCIES = libslapd.la
  1634. libsyntax_plugin_la_LDFLAGS = -avoid-version
  1635. #------------------------
  1636. # libusn-plugin
  1637. #------------------------
  1638. libusn_plugin_la_SOURCES = ldap/servers/plugins/usn/usn.c \
  1639. ldap/servers/plugins/usn/usn_cleanup.c
  1640. libusn_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1641. libusn_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK)
  1642. libusn_plugin_la_DEPENDENCIES = libslapd.la
  1643. libusn_plugin_la_LDFLAGS = -avoid-version
  1644. #------------------------
  1645. # libviews-plugin
  1646. #------------------------
  1647. libviews_plugin_la_SOURCES = ldap/servers/plugins/views/views.c
  1648. libviews_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1649. libviews_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK)
  1650. libviews_plugin_la_DEPENDENCIES = libslapd.la
  1651. libviews_plugin_la_LDFLAGS = -avoid-version
  1652. #------------------------
  1653. # libwhoami-plugin
  1654. #------------------------
  1655. libwhoami_plugin_la_SOURCES = ldap/servers/plugins/whoami/whoami.c
  1656. libwhoami_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1657. libwhoami_plugin_la_LIBADD = libslapd.la $(LDAPSDK_LINK) $(NSPR_LINK)
  1658. libwhoami_plugin_la_DEPENDENCIES = libslapd.la
  1659. libwhoami_plugin_la_LDFLAGS = -avoid-version
  1660. #------------------------
  1661. #////////////////////////////////////////////////////////////////
  1662. #
  1663. # Programs
  1664. #
  1665. #////////////////////////////////////////////////////////////////
  1666. #------------------------
  1667. # dbscan
  1668. #------------------------
  1669. dbscan_SOURCES = ldap/servers/slapd/tools/dbscan.c
  1670. dbscan_CPPFLAGS = $(NSPR_INCLUDES) $(AM_CPPFLAGS)
  1671. dbscan_LDADD = $(NSPR_LINK) $(DB_IMPL) libslapd.la
  1672. #------------------------
  1673. # ldap-agent
  1674. #------------------------
  1675. ldap_agent_SOURCES = ldap/servers/snmp/main.c \
  1676. ldap/servers/snmp/ldap-agent.c \
  1677. ldap/servers/slapd/agtmmap.c
  1678. ldap_agent_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS) @netsnmp_inc@
  1679. ldap_agent_LDADD = $(LDAPSDK_LINK) $(SASL_LINK) $(NSS_LINK) $(NSPR_LINK) $(NETSNMP_LINK) $(THREADLIB)
  1680. #------------------------
  1681. # ldclt
  1682. #------------------------
  1683. ldclt_SOURCES = ldap/servers/slapd/tools/ldaptool-sasl.c \
  1684. ldap/servers/slapd/tools/ldclt/data.c \
  1685. ldap/servers/slapd/tools/ldclt/ldapfct.c \
  1686. ldap/servers/slapd/tools/ldclt/ldclt.c \
  1687. ldap/servers/slapd/tools/ldclt/ldcltU.c \
  1688. ldap/servers/slapd/tools/ldclt/parser.c \
  1689. ldap/servers/slapd/tools/ldclt/port.c \
  1690. ldap/servers/slapd/tools/ldclt/scalab01.c \
  1691. ldap/servers/slapd/tools/ldclt/threadMain.c \
  1692. ldap/servers/slapd/tools/ldclt/utils.c \
  1693. ldap/servers/slapd/tools/ldclt/version.c \
  1694. ldap/servers/slapd/tools/ldclt/workarounds.c
  1695. ldclt_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/ldap/servers/slapd/tools $(DSPLUGIN_CPPFLAGS) $(SASL_CFLAGS)
  1696. ldclt_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBNSL) $(LIBSOCKET) $(LIBDL) $(THREADLIB)
  1697. #------------------------
  1698. # ns-slapd
  1699. #------------------------
  1700. if enable_ldapi
  1701. GETSOCKETPEER=ldap/servers/slapd/getsocketpeer.c
  1702. enable_ldapi = 1
  1703. endif
  1704. if enable_autobind
  1705. enable_autobind = 1
  1706. endif
  1707. if enable_auto_dn_suffix
  1708. enable_auto_dn_suffix = 1
  1709. endif
  1710. ns_slapd_SOURCES = ldap/servers/slapd/abandon.c \
  1711. ldap/servers/slapd/auth.c \
  1712. ldap/servers/slapd/bind.c \
  1713. ldap/servers/slapd/compare.c \
  1714. ldap/servers/slapd/config.c \
  1715. ldap/servers/slapd/connection.c \
  1716. ldap/servers/slapd/conntable.c \
  1717. ldap/servers/slapd/daemon.c \
  1718. ldap/servers/slapd/detach.c \
  1719. ldap/servers/slapd/extendop.c \
  1720. ldap/servers/slapd/fedse.c \
  1721. ldap/servers/slapd/fileio.c \
  1722. ldap/servers/slapd/getopt_ext.c \
  1723. ldap/servers/slapd/globals.c \
  1724. ldap/servers/slapd/house.c \
  1725. ldap/servers/slapd/init.c \
  1726. ldap/servers/slapd/main.c \
  1727. ldap/servers/slapd/monitor.c \
  1728. ldap/servers/slapd/passwd_extop.c \
  1729. ldap/servers/slapd/psearch.c \
  1730. ldap/servers/slapd/pw_mgmt.c \
  1731. ldap/servers/slapd/pw_verify.c \
  1732. ldap/servers/slapd/rootdse.c \
  1733. ldap/servers/slapd/sasl_io.c \
  1734. ldap/servers/slapd/saslbind.c \
  1735. ldap/servers/slapd/search.c \
  1736. ldap/servers/slapd/start_tls_extop.c \
  1737. ldap/servers/slapd/strdup.c \
  1738. ldap/servers/slapd/stubs.c \
  1739. ldap/servers/slapd/tempnam.c \
  1740. ldap/servers/slapd/unbind.c \
  1741. ldap/servers/slapd/subentries.c
  1742. ns_slapd_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS) $(SASL_CFLAGS) $(SVRCORE_INCLUDES) $(CFI_CFLAGS)
  1743. # We need our libraries to come first, then our externals libraries second.
  1744. ns_slapd_LDADD = libslapd.la libldaputil.la libsvrcore.la $(RNSSLAPD_LIB)
  1745. ns_slapd_LDADD += $(LDAPSDK_LINK) $(NSS_LINK) $(LIBADD_DL) $(OPENSSL_LIBS) \
  1746. $(NSPR_LINK) $(SASL_LINK) $(LIBNSL) $(LIBSOCKET) $(THREADLIB) $(SYSTEMD_LIBS) $(EVENT_LINK)
  1747. ns_slapd_DEPENDENCIES = libslapd.la libldaputil.la
  1748. ns_slapd_LINK = $(LINK)
  1749. #------------------------
  1750. # pwdhash
  1751. #------------------------
  1752. pwdhash_SOURCES = ldap/servers/slapd/tools/pwenc.c
  1753. pwdhash_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS)
  1754. pwdhash_LDADD = libslapd.la libsvrcore.la $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK)
  1755. pwdhash_DEPENDENCIES = libslapd.la
  1756. #-------------------------
  1757. # CMOCKA TEST PROGRAMS
  1758. #-------------------------
  1759. if ENABLE_CMOCKA
  1760. check_PROGRAMS = test_slapd
  1761. # Mark all check programs for testing
  1762. TESTS = test_slapd
  1763. test_slapd_SOURCES = test/main.c \
  1764. test/libslapd/test.c \
  1765. test/libslapd/counters/atomic.c \
  1766. test/libslapd/filter/optimise.c \
  1767. test/libslapd/pblock/analytics.c \
  1768. test/libslapd/pblock/v3_compat.c \
  1769. test/libslapd/schema/filter_validate.c \
  1770. test/libslapd/operation/v3_compat.c \
  1771. test/libslapd/spal/meminfo.c \
  1772. test/libslapd/haproxy/parse.c \
  1773. test/plugins/test.c \
  1774. test/plugins/pwdstorage/pbkdf2.c
  1775. # We need to link a lot of plugins for this test.
  1776. test_slapd_LDADD = libslapd.la \
  1777. libpwdstorage-plugin.la \
  1778. $(NSS_LINK) $(NSPR_LINK)
  1779. test_slapd_LDFLAGS = $(AM_CPPFLAGS) $(CMOCKA_LINKS)
  1780. ### WARNING: Slap.h needs cert.h, which requires the -I/lib/ldaputil!!!
  1781. ### WARNING: Slap.h pulls ssl.h, which requires nss!!!!
  1782. # We need to pull in plugin header paths too:
  1783. test_slapd_CPPFLAGS = $(AM_CPPFLAGS) $(DSPLUGIN_CPPFLAGS) $(DSINTERNAL_CPPFLAGS) \
  1784. -I$(srcdir)/ldap/servers/plugins/pwdstorage
  1785. endif
  1786. #------------------------
  1787. # end cmocka tests
  1788. #------------------------
  1789. # these are for the config files and scripts that we need to generate and replace
  1790. # the paths and other tokens with the real values set during configure/make
  1791. # note that we cannot just use AC_OUTPUT to do this for us, since it will do things like this:
  1792. # LD_LIBRARY_PATH = ${prefix}/lib/dirsrv
  1793. # i.e. it literally copies in '${prefix}' rather than expanding it out - we want this instead:
  1794. # LD_LIBRARY_PATH = /usr/lib/dirsrv
  1795. fixupcmd = sed \
  1796. -e 's,@bindir\@,$(bindir),g' \
  1797. -e 's,@sbindir\@,$(sbindir),g' \
  1798. -e 's,@libdir\@,$(libdir),g' \
  1799. -e 's,@libexecdir\@,$(libexecdir),g' \
  1800. -e 's,@nss_libdir\@,$(nss_libdir),g' \
  1801. -e 's,@ldaptool_bindir\@,$(ldaptool_bindir),g' \
  1802. -e 's,@ldaptool_opts\@,$(ldaptool_opts),g' \
  1803. -e 's,@plainldif_opts\@,$(plainldif_opts),g' \
  1804. -e 's,@db_libdir\@,$(db_libdir),g' \
  1805. -e 's,@db_bindir\@,$(db_bindir),g' \
  1806. -e 's,@netsnmp_libdir\@,$(netsnmp_libdir),g' \
  1807. -e 's,@propertydir\@,$(propertydir),g' \
  1808. -e 's,@datadir\@,$(datadir),g' \
  1809. -e 's,@schemadir\@,$(schemadir),g' \
  1810. -e 's,@serverdir\@,$(serverdir),g' \
  1811. -e 's,@serverincdir\@,$(serverincdir),g' \
  1812. -e 's,@serverplugindir\@,$(serverplugindir),g' \
  1813. -e 's,@taskdir\@,$(taskdir),g' \
  1814. -e 's,@configdir\@,$(configdir),g' \
  1815. -e 's,@sysconfdir\@,$(sysconfdir),g' \
  1816. -e 's,@localstatedir\@,$(localstatedir),g' \
  1817. -e 's,@localrundir\@,$(localrundir),g' \
  1818. -e 's,@infdir\@,$(infdir),g' \
  1819. -e 's,@mibdir\@,$(mibdir),g' \
  1820. -e 's,@cockpitdir\@,$(cockpitdir),g' \
  1821. -e 's,@templatedir\@,$(sampledatadir),g' \
  1822. -e 's,@systemschemadir\@,$(systemschemadir),g' \
  1823. -e 's,@package_name\@,$(PACKAGE_NAME),g' \
  1824. -e 's,@instconfigdir\@,$(instconfigdir),g' \
  1825. -e 's,@enable_ldapi\@,$(enable_ldapi),g' \
  1826. -e 's,@enable_pam_passthru\@,$(enable_pam_passthru),g' \
  1827. -e 's,@enable_bitwise\@,$(enable_bitwise),g' \
  1828. -e 's,@enable_dna\@,$(enable_dna),g' \
  1829. -e 's,@enable_autobind\@,$(enable_autobind),g' \
  1830. -e 's,@enable_auto_dn_suffix\@,$(enable_auto_dn_suffix),g' \
  1831. -e 's,@enable_presence\@,$(enable_presence),g' \
  1832. -e 's,@enable_asan\@,$(ASAN_ON),g' \
  1833. -e 's,@enable_msan\@,$(MSAN_ON),g' \
  1834. -e 's,@enable_tsan\@,$(TSAN_ON),g' \
  1835. -e 's,@enable_ubsan\@,$(UBSAN_ON),g' \
  1836. -e 's,@SANITIZER\@,$(SANITIZER),g' \
  1837. -e 's,@ECHO_N\@,$(ECHO_N),g' \
  1838. -e 's,@ECHO_C\@,$(ECHO_C),g' \
  1839. -e 's,@brand\@,$(brand),g' \
  1840. -e 's,@capbrand\@,$(capbrand),g' \
  1841. -e 's,@vendor\@,$(vendor),g' \
  1842. -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
  1843. -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
  1844. -e 's,@RPM_VERSION\@,$(RPM_VERSION),g' \
  1845. -e 's,@PACKAGE_BASE_VERSION\@,$(PACKAGE_BASE_VERSION),g' \
  1846. -e 's,@CONSOLE_VERSION\@,$(CONSOLE_VERSION),g' \
  1847. -e 's,@BUILDNUM\@,$(BUILDNUM),g' \
  1848. -e 's,@NQBUILD_NUM\@,$(NQBUILDNUM),g' \
  1849. -e 's,@perlpath\@,$(perldir),g' \
  1850. -e 's,@defaultuser\@,$(defaultuser),g' \
  1851. -e 's,@defaultgroup\@,$(defaultgroup),g' \
  1852. -e 's,@with_fhs_opt\@,@with_fhs_opt@,g' \
  1853. -e 's,@with_selinux\@,@with_selinux@,g' \
  1854. -e 's,@with_systemd\@,$(WITH_SYSTEMD),g' \
  1855. -e 's,@tmpfiles_d\@,$(tmpfiles_d),g' \
  1856. -e 's,@pythonexec\@,@pythonexec@,g' \
  1857. -e 's,@sttyexec\@,@sttyexec@,g' \
  1858. -e 's,@initconfigdir\@,$(initconfigdir),g' \
  1859. -e 's,@updatedir\@,$(updatedir),g' \
  1860. -e 's,@ldaplib\@,$(ldaplib),g' \
  1861. -e 's,@ldaplib_defs\@,$(ldaplib_defs),g' \
  1862. -e 's,@systemdsystemunitdir\@,$(systemdsystemunitdir),g' \
  1863. -e 's,@systemdsystemconfdir\@,$(systemdsystemconfdir),g' \
  1864. -e 's,@systemdgroupname\@,$(systemdgroupname),g' \
  1865. -e 's,@prefixdir\@,$(prefixdir),g'
  1866. %: %.in
  1867. mkdir -p $(dir $@)
  1868. $(fixupcmd) $^ > $@
  1869. %/$(PACKAGE_NAME): %/initscript.in
  1870. if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
  1871. $(fixupcmd) $^ > $@
  1872. %/$(PACKAGE_NAME): %/base-initconfig.in
  1873. if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
  1874. if SYSTEMD
  1875. $(fixupcmd) $^ | sed -e 's/@preamble@/# This file is in systemd EnvironmentFile format - see man systemd.exec/' > $@
  1876. else
  1877. $(fixupcmd) $^ | sed -n -e 's/@preamble@//' -e '/^#/{p;d;}' -e '/^$$/{p;d;}' -e 's/^\([^=]*\)\(=.*\)$$/\1\2 ; export \1/ ; p' > $@
  1878. $(fixupcmd) $(srcdir)/ldap/admin/src/initconfig.in >> $@
  1879. endif
  1880. %/template-initconfig: %/template-initconfig.in
  1881. if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
  1882. if SYSTEMD
  1883. $(fixupcmd) $^ | sed -e 's/@preamble@/# This file is in systemd EnvironmentFile format - see man systemd.exec/' > $@
  1884. else
  1885. $(fixupcmd) $^ | sed -n -e 's/@preamble@//' -e '/^#/{p;d;}' -e '/^$$/{p;d;}' -e 's/^\([^=]*\)\(=.*\)$$/\1\2 ; export \1/ ; p' > $@
  1886. endif
  1887. %/$(PACKAGE_NAME)-snmp: %/ldap-agent-initscript.in
  1888. if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
  1889. $(fixupcmd) $^ > $@
  1890. # yes, that is an @ in the filename . . .
  1891. %/$(PACKAGE_NAME)@.service: %/systemd.template.service.in
  1892. if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
  1893. $(fixupcmd) $^ > $@
  1894. %/$(PACKAGE_NAME)@.service.d/custom.conf: %/systemd.template.service.custom.conf.in
  1895. if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
  1896. $(fixupcmd) $^ > $@
  1897. if with_sanitizer
  1898. %/$(PACKAGE_NAME)@.service.d/xsan.conf: %/systemd.template.service.xsan.conf.in
  1899. if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
  1900. $(fixupcmd) $^ > $@
  1901. endif
  1902. %/$(systemdgroupname): %/systemd.group.in
  1903. if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
  1904. $(fixupcmd) $^ > $@
  1905. %/$(PACKAGE_NAME)-snmp.service: %/systemd-snmp.service.in
  1906. if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
  1907. $(fixupcmd) $^ > $@
  1908. # if distdir is a git tag, use that for the git archive tag, else
  1909. # just assume a developer build and use HEAD
  1910. git-archive:
  1911. if [ -n "$(SRCDISTDIR)" -a -d "$(SRCDISTDIR)" ] ; then \
  1912. srcdistdir=$(SRCDISTDIR) ; \
  1913. else \
  1914. srcdistdir=`pwd` ; \
  1915. fi ; \
  1916. cd $(srcdir) ; \
  1917. if git show-ref --tags -q $(distdir) ; then \
  1918. gittag=$(distdir) ; \
  1919. else \
  1920. gittag=HEAD ; \
  1921. fi ; \
  1922. git archive --prefix=$(distdir)/ $$gittag | bzip2 > $$srcdistdir/$(distdir).tar.bz2
  1923. # Python test tests
  1924. # How will we update this to python 3?
  1925. lib389:
  1926. cd $(srcdir)/src/lib389 && \
  1927. python3 validate_version.py && \
  1928. python3 -m build
  1929. lib389-install: lib389
  1930. cd $(srcdir)/src/lib389 && \
  1931. pip3 install . --no-deps --force-reinstall
  1932. if ENABLE_COCKPIT
  1933. NODE_MODULES_TEST = src/cockpit/389-console/package-lock.json
  1934. WEBPACK_TEST = src/cockpit/389-console/cockpit_dist/index.html
  1935. # Cockpit UI plugin - we install the dependancies and build the JS sources
  1936. # and then we use install-data-hook for copying the results on 'make install'
  1937. $(NODE_MODULES_TEST):
  1938. cd src/cockpit/389-console; npm install
  1939. $(WEBPACK_TEST): $(NODE_MODULES_TEST)
  1940. cd src/cockpit/389-console; npx --yes audit-ci; ./build.js
  1941. 389-console: $(WEBPACK_TEST)
  1942. # This requires a built source tree and avoids having to install anything system-wide
  1943. 389-console-devel-install:
  1944. cd $(srcdir)/src/cockpit/389-console; \
  1945. rm ~/.local/share/cockpit/389-console; \
  1946. mkdir -p ~/.local/share/cockpit/; \
  1947. ln -s $$(pwd)/dist ~/.local/share/cockpit/389-console
  1948. 389-console-clean:
  1949. cd $(srcdir)/src/cockpit/389-console; \
  1950. rm -rf dist; \
  1951. rm -rf cockpit_dist
  1952. endif
  1953. if HAVE_DOXYGEN
  1954. # The rm in man3 is to remove files like: _home_william_development_389ds_libsds_src_.3
  1955. # If there is a way to ignore this in doxygen I'm all ears ...
  1956. doxyfile.stamp:
  1957. cd $(srcdir); $(DOXYGEN) $(abs_top_builddir)/docs/slapi.doxy
  1958. rm -f $(abs_top_builddir)/man/man3/_*
  1959. touch doxyfile.stamp
  1960. # Add the docs to make all.
  1961. all-local: doxyfile.stamp
  1962. endif