-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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 ./configure generate config.toml instead of config.mk? #40730
Comments
Ah yeah so FWIW I don't envision us deleting the That being said, I think removing |
I could have a look, but I'm not sure whether I'll be able to avoid GNU extensions. I guess macs still should be able to use it? |
How about adding a command like |
I'd personally go as far as making |
@ollie27 yeah that's a good point, writing this in Python would be quite reasonable I think. We shouldn't go too crazy though. We're better at maintaining Python than shell, but not by much. @petrochenkov yeah I think that's a plausible idea! |
Making bash mandatory to build Rust is a huge regression. For the sake of all the Windows users out there, please don't. Unless you meant making |
@retep998 |
Actually, the opposite. It's the de-facto standard in Unix world. Doesn't need to be actual autoconf-produced (assuming you tell it loud and clear,
OTOH, the x.py call should go away - or at least done by the generated makefile, so |
Meanwhile Rust tries to support platforms outside the Unix world. Having a |
Of course, it's just meant as a frontend. The key point is: it should behave like autoconf, provide a compatible command line interface. |
This commit rewrites our ancient `./configure` script from shell into Python. The impetus for this change is to remove `config.mk` which is just a vestige of the old makefile build system at this point. Instead all configuration is now solely done through `config.toml`. The python script allows us to more flexibly program (aka we can use loops easily) and create a `config.toml` which is based off `config.toml.example`. This way we can preserve comments and munge various values as we see fit. It is intended that the configure script here is a drop-in replacement for the previous configure script, no functional change is intended. Also note that the rationale for this is also because our build system requires Python, so having a python script a bit earlier shouldn't cause too many problems. Closes rust-lang#40730
…crum rustbuild: Rewrite the configure script in Python This commit rewrites our ancient `./configure` script from shell into Python. The impetus for this change is to remove `config.mk` which is just a vestige of the old makefile build system at this point. Instead all configuration is now solely done through `config.toml`. The python script allows us to more flexibly program (aka we can use loops easily) and create a `config.toml` which is based off `config.toml.example`. This way we can preserve comments and munge various values as we see fit. It is intended that the configure script here is a drop-in replacement for the previous configure script, no functional change is intended. Also note that the rationale for this is also because our build system requires Python, so having a python script a bit earlier shouldn't cause too many problems. Closes #40730 Closes #43295 Closes #42255 Closes #38058 Closes #32176
…crum rustbuild: Rewrite the configure script in Python This commit rewrites our ancient `./configure` script from shell into Python. The impetus for this change is to remove `config.mk` which is just a vestige of the old makefile build system at this point. Instead all configuration is now solely done through `config.toml`. The python script allows us to more flexibly program (aka we can use loops easily) and create a `config.toml` which is based off `config.toml.example`. This way we can preserve comments and munge various values as we see fit. It is intended that the configure script here is a drop-in replacement for the previous configure script, no functional change is intended. Also note that the rationale for this is also because our build system requires Python, so having a python script a bit earlier shouldn't cause too many problems. Closes #40730 Closes #43295 Closes #42255 Closes #38058 Closes #32176
As far as I know, getting rid of
./configure
is a desirable goal. As I understand it, it is kept mainly for compatibility reasons:./configure && make && make install
Making
./configure
produce aconfig.toml
file seems like a potential step in the right direction and would allow getting rid of a nice chunk of compatibility code in rustbuild.Open questions:
./configure
in the near future? In that case making it produce aconfig.toml
first is probably not worth the effort../configure
generateconfig.toml
?The text was updated successfully, but these errors were encountered: