I actually ended up getting flex.exe from gnuwin32. I put flex.exe on
PATH, and then CMake finished.
I was able to build unifdef from source and place it manually in the
creduce build tree where it would normally be produced, and that seems
to work.
I mucked with cpan for a while and now msysgit's perl seems to do the
right thing.
I had to comment out the "is executable" check from creduce to get it to
accept my shell script, and now I have a reduction.
I guess it all worked out. :)
On Fri, Oct 13, 2017 at 11:41 AM, Dmitry Babokin <babokin@gmail.com
<mailto:babokin@gmail.com>> wrote:
If you need flex/bison, it's quite difficult to get around it with
just "proper" configuration script ;-)
I would suggest trying either Gygwin (it does have pre-built
flex/bison and they should be relatively new) or GnuWin32 tool set
(flex/bison in this one are quite old and this may be an issue).
Dmitry.
On Fri, Oct 13, 2017 at 11:04 AM, Reid Kleckner <rnk@google.com
<mailto:rnk@google.com>> wrote:
Has anyone else tried this with any success?
My goal here was to reduce a disagreement between MSVC and Clang
down to some minimal example where one errors in a specific way
but the other does not. I think the shortest path to a solution
for me is going to be running MSVC under Wine on Linux, but I
figured I should send this email to document the state of the art.
The INSTALL instructions don't mention Windows at all, but the
CMakeLists.txt commit messages do, so I blithely ignored all
advice about dependencies and did the usual CMake pattern:
git clone ... creduce
cd creduce
mkdir build
cd build
cmake -GNinja ..
Worked OK, until if failed to find flex:
-- Could NOT find FLEX (missing: FLEX_EXECUTABLE)
CMake Error at clex/CMakeLists.txt:23 (FLEX_TARGET):
Unknown CMake command "FLEX_TARGET".
OK, now I go get flex, which has moved to github
(https://github.com/westes/flex
<https://github.com/westes/flex>). This wants me to run
autogen.sh, which relies on autoconf and automake, which I do
not have installed. I only have what mingw64 gives me make &
GCC. Wasn't the point of autoconf to generate a shell script
that you check in so users don't need anything other than a shell?
So, let's ignore that build system. flex is like 10 .c files,
how hard can it be to build? Let's look at the README. Hm, looks
like it has a pretty hard dependency on bison "to generate
parse.c from parse.y". Was someone nice enough to check in
parse.c so that users could build without that dependence? Nope. =/
I'm two dependencies deep and wondering, how did mpflanzer do it?