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

[question, docs] multiple cross (and not) build #143

Open
deviator opened this issue Apr 1, 2021 · 3 comments
Open

[question, docs] multiple cross (and not) build #143

deviator opened this issue Apr 1, 2021 · 3 comments
Labels

Comments

@deviator
Copy link

deviator commented Apr 1, 2021

Hello

In my current work project I use dub and simple makefiles for running dub with different flags, some flags and paths to gcc for arm placed in /etc/ldc2.conf (ARM target section).

Example structure of project:

libA (deps not in local paths, vibe for example)
libB (deps: libA, not local deps)
prog1 (deps: libA)
prog2 (deps: libA, libB, other not local deps)
prog3 (deps: libB)

libX and progX is dub packages that have own dependencies that resolves by dub. Local dependencies defined with relative paths.
All of them needs build for x86 for tests in CI (in makefile I use dub test --root=libA), some output programs needs to build for ARM, some needs to build for both (x86 and ARM), some needs build for different x86 platforms (for linux and win both) and some apps needs for generate string import files from env (prebuild linux-x86 for running in build process for any other targets). Some code written in C and it has own build systems (meson, autotools). Finally I want to place result binaries to different paths (used targetPath="$TP" in dub.sdl there env variable $TP sets by makefile and it different for different arch, build-arm and build-x86 for example).

I understand what it's not trivial build setup, but from documentation I don't understand full ability of reggae.
Can reggae helps me to speed up build and/or simplificate building scripts?
Can reggae crossbuild? In tests dir I don't see examples for crossbuild.

@atilaneves
Copy link
Owner

Can reggae do what you want? Yes (otherwise there are bugs to be fixed). It's a build system, if it can't then it's failed.

Will it be easy to write? Probably not. But the description wasn't enough for me to understand what's actually needed. I haven't tried anything too complicated with reggae myself, because I haven't needed to.

What issues are you having with your current setup?

@deviator
Copy link
Author

What issues are you having with your current setup?

First issue is build speed, second is big and complicated scripts for building.

@atilaneves
Copy link
Owner

Build speed can be made better with reggae due to it generating multithreaded builds by default. The scripts however, will probably be just as complicated but written in D instead. But I don't really know.

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

No branches or pull requests

2 participants