[ITP] chicken-

Marco Atzeri marco.atzeri@gmail.com
Wed Dec 10 14:41:00 GMT 2014

On 12/10/2014 2:14 PM, Christian Kellermann wrote:
> * Marco Atzeri  [141210 13:28]:
>>> As I only have access to a 32bit Windows Version (7) atm I am unable to
>>> test this for 64-bit builds.
>>>>> Compiling chicken-
>> "make" -f ./Makefile.cygwin CONFIG= all
>> make[1]: Entering directory
>> '/cygdrive/e/cyg_pub/tmp/chicken-
>> en-'
>> gcc -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES
>> -c a pply-hack.x86.S -o apply-hack.x86.o
>> apply-hack.x86.S: Assembler messages:
>> apply-hack.x86.S:35: Error: operand type mismatch for `call'
>> rules.make:184: recipe for target 'apply-hack.x86.o' failed
>> make[1]: *** [apply-hack.x86.o] Error 1
>> make[1]: Leaving directory
>> '/cygdrive/e/cyg_pub/tmp/chicken-
>> n-'
>> GNUmakefile:54: recipe for target 'all' failed
>> I guess you need use apply-hack.x86-64.S for 64bit.
>> How is it  managed on Linux ?
> There's a shell script that tries to determine the architecture, I
> guess it needs to be adjusted for the cygwin 64bit case.

For what I see, it is not really trying

   ARCH ?= x86

only expecting to receive it.

> One can force it by passing ARCH=x86-64 as a parameter to make.
>> Time to move to a minimal config system upstream ?
> I don't understand. If there's an upstream change needed I will get
> it in.

I was just suggesting the usage of a "standard" config systems:
Automake, cmake...

This should simplify the porting to systems not available yet
to upstream maintainers with the plus of more easy build in a
separate tree than source one.

Of course is it just my 2c$ suggestion.

> Kind regards,
> Christian

Attached a better chicken.cygport that allow the
build on separate tree, identify the architecture
correctly install and package.

This also avoid the creation of not needed

You still need to verify the check portion,
it seems that the test in place is not fully working
but I could be wrong.

About x86_64 there is still a starting problem

 >>> Compiling chicken-
"make" -f ./Makefile.cygwin CONFIG= all
make[1]: Entering directory 
gcc -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H 
-DC_ENABLE_PTABLES -c apply-hack.x86-64.S -o apply-hack.x86-64.o
apply-hack.x86-64.S: Assembler messages:
apply-hack.x86-64.S:32: Warning: .type pseudo-op used outside of 
.def/.endef ignored.
apply-hack.x86-64.S:32: Error: junk at end of line, first unrecognized 
character is `_'
rules.make:184: recipe for target 'apply-hack.x86-64.o' failed
make[1]: *** [apply-hack.x86-64.o] Error 1

the line 32 is:

         .type _C_do_apply_hack, @function


-------------- next part --------------
# package name

# setup.hint generation
SUMMARY="A practical and portable scheme system."
DESCRIPTION="A practical and portable scheme system.
CHICKEN is a compiler for the Scheme programming language. CHICKEN
produces portable and efficient C, supports almost all of the R5RS
Scheme language standard, and includes many enhancements and

REQUIRES="make gcc-core gcc-g++"

# source and patch files

src_compile() {
        cd ${B}
	if [ $AR = "i686" ]
		cygmake ARCH="x86"
	elif [ $AR = "x86_64" ]
		cygmake ARCH="x86-64"
	  ECHO "Unknown Architecture"

src_install() {
	cd ${B}
	cyginstall PREFIX=/usr

src_test() {
	cd ${B}/tests

More information about the Cygwin-apps mailing list