lhmouse / mcfgthread

Cornerstone of the MOST efficient std::thread on Windows for mingw-w64
https://gcc-mcf.lhmouse.com/
Other
269 stars 28 forks source link

Build instructions do not match #26

Closed eldiener closed 7 years ago

eldiener commented 7 years ago

The various build shell scripts do not really match what is suggested as the build instructions for your library in the readme.md file. I followed the build shell scripts with my own changes for paths and such, but I think you should synchronize the information so that it is consistent. I realize that this is not a big issue but it confused me when I went to build your library.

lhmouse commented 7 years ago

The instructions in README.md is a general guide - it merely invokes whatever named autoreconf, make, gcc etc in the current PATH, just like what people usually build things from source on Linux. It is usually not necessary to build in a fresh, empty directory (a notable counter-example is GCC).

On the other hand, those build_*.sh scripts are provided to build native libraries. They create subdirectories and run configure in them so we don't mess up files for x64 and x86.

It is less common to provide scripts for two different native targets. Usually only the configure script is shipped with the source code and it is the users that should run it to create Makefiles for different targets. In that scenario the instructions in README.md are correct and what seems a solution for confusion is to remove build_*.sh scripts... But removing them doesn't make things any better, does it?

lhmouse commented 7 years ago

If you follow the instructions in README.md then you will get a native library that works in your installed environment. There is even no need to read README.md (it is not the f**king manual) because everyone that has built some packages from source on Linux knows how to use automake. The scripts are only informative.

eldiener commented 7 years ago

You are passing different flags in your readme.md instructions than you are passing in your build scripts for building your library. The end-user may be confused by this ( I was ). That is what concerned me, not the actual sequence of what needs to be done, which is basically the same for both.

lhmouse commented 7 years ago

Ah, you are right. Since README.md is merely an illustration, it is reasonable to keep commands in it as short as possible. I removed CFLAGS and LDFLAGS from it.

lhmouse commented 7 years ago

Please close this issue if there is no problem. Thanks.

lhmouse commented 7 years ago

README.md used to talk about building using mingwbuilds toolchains. Since we have switched to MSYS2 already those should be updated as well.