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

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.

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