Skip to content
New issue

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

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

Already on GitHub? # to your account

Should we detach the build system from titanc? #88

Open
gligneul opened this issue Dec 6, 2017 · 3 comments
Open

Should we detach the build system from titanc? #88

gligneul opened this issue Dec 6, 2017 · 3 comments
Labels

Comments

@gligneul
Copy link
Member

gligneul commented Dec 6, 2017

I think it is confusing that the Titan compiler generate a .so by default.

Suppose this use case: a user want a single titan module to be embedded to his C program. He have his own build system, so all he wants is to generate a .c from a .titan and his build system will manage the rest of the compilation.

We could have a separate program that have the current behavior and call titanc (titanc will only generate a .c). I believe this approach will make the code more modular.

@mascarenhas
Copy link
Member

I think a -c compiler option to do this is better than having two utilities.

@gligneul
Copy link
Member Author

gligneul commented Dec 6, 2017

I don't mind the -c option in the compiler, but we still have some behaviors that doesn't fit a compiler program (like gcc, clang):

  • titanc is not recompiling modules based on the timestamp.
  • titanc is compiling the module dependencies (if I have foo.titan and bar.titan, run titanc foo, it generates both foo.so and bar.so).

I believe those behaviors should be in a titan-build or titan-make.

@gligneul
Copy link
Member Author

gligneul commented Dec 7, 2017

@mascarenhas I was talking with @hishamhm and @hugomg and we came to the conclusion that having an easier behavior for the average user might be better.
We still need a better internal separation of what is compilation versus what is build to implement the -c option.

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

No branches or pull requests

2 participants