chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] Cygwin


From: felix winkelmann
Subject: Re: [Chicken-users] Cygwin
Date: Mon, 8 Mar 2010 13:40:18 +0100

On 3/6/10, Mark Carter <address@hidden> wrote:

> OK. I achieved a build of chicken using cygwin. I give instructions below.
> I'd like to give a write-up, maybe by providing a patch, edit the wiki, or
> something. Let me know what you'd prefer.

Thanks for reporting this, Mark. I can take care of incorporating the
fixes that are necessary.

> If you have chicken v3.4.0 installed on cygwin, then uninstall it. It will
> only cause confusion.

Yes, that is always advisable.

> You need to edit Makefile.cygwin to include C_INCLUDE_PREFIX, thusly:
>
> diff --git a/Makefile.cygwin b/Makefile.cygwin
> index b448813..1ab2c04 100644
> --- a/Makefile.cygwin
> +++ b/Makefile.cygwin
> @@ -148,6 +148,9 @@ chicken-defaults.h:
>       echo "#ifndef C_INSTALL_LDFLAGS" >>$@
>       echo "# define C_INSTALL_LDFLAGS \"$(LINKER_OPTIONS)
> $(LINKER_OPTIMIZATION_OPTIONS)\"" >>$@
>       echo "#endif" >>$@
> +     echo "#ifndef C_INSTALL_PREFIX" >>$@
> +     echo "# define C_INSTALL_PREFIX \"$(PREFIX)\"" >>$@
> +     echo "#endif" >>$@
>       echo "#ifndef C_INSTALL_SHARE_HOME" >>$@
>       echo "# define C_INSTALL_SHARE_HOME \"$(DATADIR)\"" >>$@
>       echo "#endif" >>$@
>

Patch is applied to "master". I'll put it into the "prerelease" branch as well.

>
> Clean up any configuration weirdness:
>   make PLATFORM=cygwin confclean
> It's a good idea to run the above command whenever it looks like your
> configuration might be dirty.

Yep, that's true.

>
> Now do the building and installation:
>   make PLATFORM=cygwin PREFIX=/usr/local bootstrap
>   make -f Makefile.cygwin PREFIX=/usr/local chicken-config.h
>   make PLATFORM=cygwin PREFIX=/usr/local CHICKEN=./chicken-boot
>   make PLATFORM=cygwin PREFIX=/usr/local install
>
> Do the following Win 7 (probably also Vista) kludge:
>   cp /usr/local/bin/chicken-install.exe /usr/local/bin/chickeni.exe
> This is because Win7(/Vista) treats any file with the words setup, install,
> or patch specially. From now on, when you want to install an egg, use
> chickeni instead of chicken-install.

That is indeed the case - they came up with a particularly sophisticated
security feature there ...

I'll install copies of "chicken-install" and "chicken-uninstall" as
"chicken-fetch"
and "chicken-remove", respectively, on Windows platforms.

Did the invocations of the "install" cygwin command when doing the
"make ... install" trigger any security warnings?

>
> Perform a library installation kludge:
>   mv /usr/local/lib/libchicken* /usr/local/bin
>   mv /usr/local/lib/libuchicken* /usr/local/bin
> Makefile.cygwin puts them in a place where the compiler can't find them.

This should normally be done. I don't understand why you had to do this
manually.

> I have confirmed that I have achieved a compile and had Tk running.

Excellent. Thanks again for your help.


cheers,
felix




reply via email to

[Prev in Thread] Current Thread [Next in Thread]