[Top][All Lists]
[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