[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [creduce-dev] Experiences building C-Reduce on Windows

Glad you got this to work, Reid!


On 10/13/17 1:46 PM, Reid Kleckner wrote:
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).


    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>). 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?