You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It would be valuable for Core Lightning (CLN) to officially support building as a static library (.a) that can be easily linked into external C or C++ projects. This would simplify and standardize integration of CLN functionality into other codebases.
Current Workaround
While working on integrating Core Lightning into bitcoinfuzz, I implemented a workaround by appending the following rule to the end of the Makefile:
libcln.a: libccan.a $(BITCOIN_OBJS)$(COMMON_OBJS)$(WIRE_OBJS)$(EXTERNAL_LIBS)$(CCAN_OBJS)
@$(call VERBOSE, "ar $@", $(AR) r $@$(BITCOIN_OBJS)$(COMMON_OBJS)$(WIRE_OBJS)$(CCAN_OBJS))
@echo "Extracting external libraries..."
@for lib in${EXTERNAL_LIBS};do\
echo "Processing $$lib"; \
if [ -f "$$lib" ]; then \
tmpdir=$$(mktemp -d); \
echo "Created temp dir: $$tmpdir"; \
fullpath="$$(pwd)/$$lib"; \
echo "Full path: $$fullpath"; \
(cd $$tmpdir && $(AR) x "$$fullpath" && echo "Extraction completed successfully"); \
if [ -n "$$(ls -A $$tmpdir)" ]; then \
echo "Found object files: $$(ls $$tmpdir)"; \$(AR) r $@ $$tmpdir/*.o; \
else \
echo "Warning: No object files found in $$lib"; \
fi; \
rm -rf $$tmpdir; \
else \
echo "Warning: Library $$lib not found"; \
fi; \
done
Request
I believe that officially supporting static library builds would benefit many integration projects beyond bitcoinfuzz. This would provide a more maintainable and supported approach to linking CLN components into other projects.
Potential Benefits
Simplified integration with external C/C++ projects
Reduced setup complexity for projects needing CLN functionality
Better compatibility with various build systems
Improved developer experience when incorporating CLN
The text was updated successfully, but these errors were encountered:
It would be valuable for Core Lightning (CLN) to officially support building as a static library (.a) that can be easily linked into external C or C++ projects. This would simplify and standardize integration of CLN functionality into other codebases.
Current Workaround
While working on integrating Core Lightning into bitcoinfuzz, I implemented a workaround by appending the following rule to the end of the Makefile:
Request
I believe that officially supporting static library builds would benefit many integration projects beyond bitcoinfuzz. This would provide a more maintainable and supported approach to linking CLN components into other projects.
Potential Benefits
The text was updated successfully, but these errors were encountered: