Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

optional static libraries building #64

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

nsec1
Copy link

@nsec1 nsec1 commented Jun 27, 2024

@nsec1
Copy link
Author

nsec1 commented Sep 19, 2024

@@ -1,3 +1,19 @@
[submodule "external/monero-project"]
path = external/monero-project
url = https://github.com/woodser/monero
url = https://github.com/nsec1/monero.git
branch = fixIncludePaths
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can the change in your branch, "fix zmq and sodium include dirs search", be generally applied to monero-project and opened as a PR?

If so, the PR should be opened ASAP, and then I can include your PR as a customization in monero-project until it's merged.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

url = https://github.com/woodser/monero
url = https://github.com/nsec1/monero.git
branch = fixIncludePaths
[submodule "external/boost"]
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thinking about this further, I'm wondering if we should checkout these submodules as part of the monero-cpp project, to be generally available within that project, or if they're only necessary in the way we're building monero-java?

monero-ts, for example, does not require these submodules to be checked out, and I wouldn't want them to interfere with the build in that project.

But I could understand the argument to make these generally available in monero-cpp for other build setups.

Curious to get your thoughts?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I followed your suggestion: woodser/monero-java#105 (comment)
and I agreed :)
We can pass a env var to on/off submodules build

include_directories(SYSTEM /usr/include/malloc)
if(POLICY CMP0042)
cmake_policy(SET CMP0042 NEW)
option(USE_DEVICE_TREZOR "Trezor hardware wallet suport" ON)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again wondering if we can skip this check and assume that support is ON.

Would be better to be able to support these dependencies anyway.

4. Build monero-project, located as a submodule at ./external/monero-project. Install [dependencies](https://github.com/monero-project/monero#dependencies) as needed for your system, then build with: `make release-static -j8`
5. Link to this library's source files in your application, or build monero-cpp to a shared library in ./build: `./bin/build_libmonero_cpp.sh`
2. Update dependencies: `sudo apt update && sudo apt install build-essential autoconf libtool cmake pkg-config libzmq3-dev libunwind8-dev liblzma-dev libreadline6-dev libpgm-dev qttools5-dev-tools libhidapi-dev libusb-1.0-0-dev libprotobuf-dev protobuf-compiler libudev-dev python3 ccache doxygen graphviz nettle-dev libevent-dev bison flex`
3. Build monero-project, located as a submodule at ./external/monero-project. Install [dependencies](https://github.com/monero-project/monero#dependencies) as needed for your system, then build with: `make release-static -j8`
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Must admit, it's nice to see that unbound doesn't need to be installed separately.


[ -d $INSTALL_DIR ] || mkdir -p $INSTALL_DIR

(cd external/boost && \
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just need to ensure these additions don't interfere with the build process in monero-ts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants