I presume you mean you made build.sh work out of the box?
Exactly that, works for both non-AES CPU's and AES CPU's. GCC provides __AES__ macro if -march=native supports it.
Did not test on MinGW, though, only on Debian 8.4.
It'l be in the next release, hopefully in a day or so. It'l be handy for users not to have to know the architecture.
I really appreciate the work you did. I've been stumbling my way around the environment just trying to make
things work. It's been challenging to apply my experience to a completey foreign environment. Feel free to
comment on overall architecture. Being a foreigner in the land of GNU C I'm not aware of the local customs
and conventions.
I've done a first pass through your changes and I want to undertsand more so forgive my stupid questions.
I'm curious about some of the changes because things worked. Amd when things work I don't want to make
changes unless it makes them work better.
In general terms I ask why is it better, will it hash faster? Simpler compilation procedure is an obvious one
but other changes escape me.
I didn't know about the compiler support for __AES__. Good job.
I never heard of LTO before, what will it give me? Is that how boost now works with your changes?
Boost didn't work fo me until I added the linking options to teh makefile. Are your changes leading edge?
Will they work on older loads?
Can you explain the __attribute__ used stuff a bit more, that's a new concept for me. Again, it worked
before so how is this better?
Thanks again. I'll get the __AES__ implemented quickly, the other stuff can wait until I have a better understanding.
Update:
I've been spending a lot of time trying to implement another algo with little success. I get a nice multi page
dump for a buffer overflow, not just the typical segfault, but I digress. I put that aside for another day so I can
your user visible changes released.
I implemented __AES__ with a slight change, I allow configure to override automatic aes compile, not very useful
for users but it helps testing SSE2 on my i7.
There are still problems with build.sh. First groestl sse2 complained about ASM constraints so I removed USE_ASM
then a bunch of AES code failed to compile, then I stripped it down to "-O3 -march=native" and it works.
It's nice to get rid of the alloca warnings.
I didn't see a point in changing the way boost was linked, it doesn't make compiling any easier and it ain't broke.
I'll look into the other issues over the longer term.
Thanks again.