Skip to content

Commit c2b44be

Browse files
authored
dgb: wire -DAUX_DOGE build-flag seam (phase DA) (#310)
Un-stub the parked AUX_DOGE option in the dgb module CMakeLists so the DGB-as-DOGE-parent dual-parent merged-mining stretch can be opted into at configure time. When -DAUX_DOGE=ON the AUX_DOGE compile macro is defined across the dgb subtree, compiling the inert aux seam already present in coin/node.hpp (forward-decl of doge::coin::AuxChainEmbedded, the AuxChainBackend type alias, and the bind_aux_doge_parsers() declaration -- no body, never ODR-used). Default OFF leaves the standalone Scrypt-only parent build byte-unchanged with zero DOGE coupling. The shared src/impl/doge aux module (ltc-doge owns) is still only CONSUMED at M3/DB, when the real aux_chain_embedded.hpp include and the bind body land; this slice adds no shared-module dependency. Prereq #82 (own-block broadcaster) is closed. Verified: configure -DCOIN_DGB=ON -DAUX_DOGE=ON EXIT=0 (option message fires); dgb_aux_parent_coinbase_parity_test builds EXIT=0 under the macro and runs 4/4 green. Co-authored-by: frstrtr <frstrtr@users.noreply.github.com>
1 parent dd5c2a5 commit c2b44be

1 file changed

Lines changed: 18 additions & 3 deletions

File tree

src/impl/dgb/CMakeLists.txt

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
# Other 4 DGB algos (SHA256d, Skein, Qubit, Odocrypt) = accept-by-continuity
77
# or ignored. Full 5-algo validation is DEFERRED TO V37.
88
#
9-
# -DAUX_DOGE opt-in (DGB-as-DOGE-parent, the dual-parent stretch) is NOT wired
10-
# in this module yet: parked behind the Phase 5.8 settle (ltc-doge owns the
11-
# shared DOGE-aux surface). Do not add AUX_DOGE plumbing here at M2.
9+
# -DAUX_DOGE opt-in (DGB-as-DOGE-parent, the dual-parent stretch): the build-flag
10+
# seam is wired below (phase DA, post-#82). It only compiles the INERT aux seam in
11+
# coin/node.hpp; the shared DOGE-aux surface (ltc-doge owns) is CONSUMED at M3/DB,
12+
# not here. Default OFF -> standalone Scrypt-only parent.
1213
#
1314
# LIB GATING (mirrors btc/ltc): the dgb_coin (coin-layer), dgb_stratum
1415
# (miner-facing IWorkSource) and dgb (pool-layer) OBJECT libs are defined
@@ -17,6 +18,20 @@
1718
# of the flag (gating them behind COIN_DGB makes the linker fall back to raw
1819
# -ldgb/-ldgb_coin/-ldgb_stratum and fail). Only the test subtree stays behind
1920
# COIN_DGB; build.yml sets -DCOIN_DGB=ON and builds those targets.
21+
# -DAUX_DOGE=ON: DGB-as-DOGE-parent dual-parent merged-mining STRETCH opt-in
22+
# (phase DA). Defines the AUX_DOGE compile macro across the dgb subtree so the
23+
# inert aux seam in coin/node.hpp compiles (forward-decl + AuxChainBackend type
24+
# alias + bind_aux_doge_parsers() declaration -- no body, never ODR-used). The
25+
# shared src/impl/doge aux module is CONSUMED only at M3/DB, when the real
26+
# <impl/doge/coin/aux_chain_embedded.hpp> include and the bind body land
27+
# (ltc-doge owns and is the sole modifier of that surface). Default OFF keeps the
28+
# standalone Scrypt-only parent build with zero DOGE coupling.
29+
option(AUX_DOGE "DGB-as-DOGE-parent dual-parent merged-mining stretch (consumes shared src/impl/doge aux module at M3)" OFF)
30+
if(AUX_DOGE)
31+
message(STATUS "c2pool-dgb: AUX_DOGE dual-parent stretch ENABLED (DGB-as-DOGE-parent)")
32+
add_compile_definitions(AUX_DOGE)
33+
endif()
34+
2035
add_subdirectory(coin)
2136
add_subdirectory(stratum) # dgb_stratum: IWorkSource (#82 miner-facing path)
2237
# add_subdirectory(daemon)

0 commit comments

Comments
 (0)