1. Răzvan Rotaru
  2. chicken-installer

Commits

Răzvan Rotaru  committed b707647

Added Chicken source code.

  • Participants
  • Parent commits 842086f
  • Branches master

Comments (0)

Files changed (347)

File chicken-src/CHICKEN.icns

  • Ignore whitespace
Binary file added.

File chicken-src/GNUmakefile

View file
  • Ignore whitespace
+# GNUmakefile - toplevel makefile
+#
+# Copyright (c) 2008-2013, The Chicken Team
+# Copyright (c) 2007, Felix L. Winkelmann
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following
+# conditions are met:
+#
+#   Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+#     disclaimer. 
+#   Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+#     disclaimer in the documentation and/or other materials provided with the distribution. 
+#   Neither the name of the author nor the names of its contributors may be used to endorse or promote
+#     products derived from this software without specific prior written permission. 
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+
+ifeq ($(CONFIG)$(PLATFORM),)
+CONFIG=config.make
+endif
+
+ifneq ($(CONFIG),)
+include $(CONFIG)
+endif
+
+ifndef PLATFORM
+$(info Please select your target platform by running one of the following commands:)
+$(info )
+$(foreach mf, $(wildcard Makefile.*), $(info $(MAKE) PLATFORM=$(mf:Makefile.%=%)))
+$(info )
+$(info For more information, consult the README file.)
+$(error No PLATFORM given.)
+endif
+
+SRCDIR = .
+
+STANDARD_TARGETS \
+	= all clean distclean spotless install uninstall confclean check \
+	  fullcheck libs install-target install-dev bench
+
+.PHONY: $(STANDARD_TARGETS) dist boot-chicken
+
+$(STANDARD_TARGETS):
+	$(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) $@
+
+dist:
+	$(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) dist
+
+boot-chicken:
+	$(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) boot-chicken

File chicken-src/LICENSE

View file
  • Ignore whitespace
+== Main license
+
+Chicken falls under the following main license:
+
+  Copyright (c) 2007-2013, The Chicken Team
+  Copyright (c) 2000-2007, Felix L. Winkelmann
+  All rights reserved.
+  
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+  3. The name of the authors may not be used to endorse or promote products
+     derived from this software without specific prior written permission.
+  
+  THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
+  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  
+
+== Additional licenses in main code
+
+synrules.scm:
+
+  Copyright (c) 1993-2001, Richard Kelsey and Jonathan Rees
+  All rights reserved.
+  
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+  3. The name of the authors may not be used to endorse or promote products
+     derived from this software without specific prior written permission.
+  
+  THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
+  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+irregex.scm:
+
+  Copyright (c) 2005-2011, Alex Shinn
+  All rights reserved.
+  
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+  3. The name of the authors may not be used to endorse or promote products
+     derived from this software without specific prior written permission.
+  
+  THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
+  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+{{let-optionals}} implementation in chicken-syntax.scm:
+
+  Copyright (c) 1996 Olin Shivers
+  All rights reserved.
+  
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+  3. The name of the authors may not be used to endorse or promote products
+     derived from this software without specific prior written permission.
+  
+  THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
+  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+srfi-1.scm:
+
+  Copyright (c) 1998, 1999 by Olin Shivers. You may do as you please with
+  this code as long as you do not remove this copyright notice or
+  hold me liable for its use. Please send bug reports to shivers@ai.mit.edu.
+
+srfi-13.scm, srfi-14.scm:
+
+  Copyright (c) 1988-1994 Massachusetts Institute of Technology.
+  Copyright (c) 1988-1995 Massachusetts Institute of Technology
+  This material was developed by the Scheme project at the Massachusetts
+  Institute of Technology, Department of Electrical Engineering and
+  Computer Science.  Permission to copy and modify this software, to
+  redistribute either the original software or a modified version, and
+  to use this software for any purpose is granted, subject to the
+  following restrictions and understandings.
+  
+  1. Any copy made of this software must include this copyright notice
+  in full.
+  
+  2. Users of this software agree to make their best efforts (a) to
+  return to the MIT Scheme project any improvements or extensions that
+  they make, so that these may be included in future releases; and (b)
+  to inform MIT of noteworthy uses of this software.
+  
+  3. All materials developed as a consequence of the use of this
+  software shall duly acknowledge such use, in accordance with the usual
+  standards of acknowledging credit in academic research.
+  
+  4. MIT has made no warrantee or representation that the operation of
+  this software will be error-free, and MIT is under no obligation to
+  provide any services, by way of maintenance, update, or otherwise.
+  
+  5. In conjunction with products arising from the use of this material,
+  there shall be no use of the name of the Massachusetts Institute of
+  Technology nor of any adaptation thereof in any advertising,
+  promotional, or sales literature without prior written consent from
+  MIT in each case.
+
+srfi-13.scm:
+
+  Copyright (c) 1998, 1999, 2000 Olin Shivers. All rights reserved.
+  All rights reserved.
+  
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+  3. The name of the authors may not be used to endorse or promote products
+     derived from this software without specific prior written permission.
+  
+  THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
+  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+=== Public domain / unencumbered
+
+Since we would still like to acknowledge all the useful contributions
+from people who gave us public domain code, here's a list for
+completeness sake:
+
+data-structures.scm:
+
+  Copyright (C) 1995 Mikael Djurfeldt
+  Taken from SLIB (slightly adapted)
+
+  SLIB's sort.scm has this statement:
+
+  Richard A. O'Keefe (based on Prolog code by D.H.D.Warren)
+  This code is in the public domain.
+
+extras.scm:
+
+  Copyright (c) 1991, Marc Feeley 
+  Author: Marc Feeley (feeley@iro.umontreal.ca)
+  Distribution restrictions: none
+
+== Tests
+
+Tests are ''not'' part of a typical binary Chicken distribution, so
+these licenses are only relevant in atypical situations:
+
+tests/slatex.scm
+tests/slatex.sty
+tests/test.tex:
+  Copyright (c) 1990-2002, Dorai Sitaram.
+  All rights reserved.
+
+  Permission to distribute and use this work for any
+  purpose is hereby granted provided this copyright
+  notice is included in the copy.  This work is provided
+  as is, with no warranty of any kind.
+
+tests/dwindtst.scm:
+
+  Copyright (C) 1992 Aubrey Jaffer
+  
+  Permission to copy this software, to modify it, to redistribute it,
+  to distribute modified versions, and to use it for any purpose is
+  granted, subject to the following restrictions and understandings.
+  
+  1.  Any copy made of this software must include this copyright notice
+  in full.
+  
+  2.  I have made no warranty or representation that the operation of
+  this software will be error-free, and I am under no obligation to
+  provide any services, by way of maintenance, update, or otherwise.
+  
+  3.  In conjunction with products arising from the use of this
+  material, there shall be no use of my name in any advertising,
+  promotional, or sales literature without prior written consent in
+  each case.
+
+tests/r4rstest.scm:
+
+  Copyright (C) 1991, 1992, 1993, 1994, 1995, 2000, 2003 Free Software Foundation, Inc.
+  
+  This program is free software; you can redistribute it and/or modify it
+  under the terms of the GNU General Public License as published by the
+  Free Software Foundation; either version 2, or (at your option) any
+  later version.
+  
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+  
+  To receive a copy of the GNU General Public License, write to the
+  Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+  Boston, MA 02111-1307, USA; or view
+  http://swissnet.ai.mit.edu/~jaffer/GPL.html
+
+tests/srfi-13-tests.scm:
+
+  Copyright (c) 2000-2003 Shiro Kawai, All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+   1. Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+   2. Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+
+   3. Neither the name of the authors nor the names of its contributors
+      may be used to endorse or promote products derived from this
+      software without specific prior written permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+  TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

File chicken-src/Makefile

View file
  • Ignore whitespace
+# See GNUmakefile for the actual makefile used by gmake
+
+all:
+	@echo "Sorry, Chicken can only be built with GNU Make."
+	@echo ""
+	@echo "The '${MAKE}' command you just used is probably your system's"
+	@echo "default Make program, which apparently is not GNU Make."
+	@echo ""
+	@echo "Try 'gmake' or 'gnumake' instead. If that doesn't work you'll"
+	@echo "probably need to install a package or build it yourself."

File chicken-src/Makefile.bsd

View file
  • Ignore whitespace
+# Makefile.bsd - configuration for BSD UNIX -*- Makefile -*-
+#
+# Copyright (c) 2008-2013, The Chicken Team
+# Copyright (c) 2007, Felix L. Winkelmann
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following
+# conditions are met:
+#
+#   Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+#     disclaimer. 
+#   Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+#     disclaimer in the documentation and/or other materials provided with the distribution. 
+#   Neither the name of the author nor the names of its contributors may be used to endorse or promote
+#     products derived from this software without specific prior written permission. 
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+
+ifneq ($(CONFIG),)
+include $(CONFIG)
+endif
+
+SRCDIR = ./
+
+# platform configuration
+
+ARCH ?= $(shell sh $(SRCDIR)/config-arch.sh)
+SYSTEM ?= $(shell uname -s)
+# options
+
+# OpenBSD base still uses GCC 3.3.5 which does not support -fwrapv
+ifeq ($(SYSTEM), OpenBSD)
+C_COMPILER_OPTIONS ?= -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H
+else
+C_COMPILER_OPTIONS ?= -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H
+endif
+
+ifdef DEBUGBUILD
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -g -Wall -Wno-unused
+else
+ifdef OPTIMIZE_FOR_SPEED
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -O3 -fomit-frame-pointer
+else
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -Os -fomit-frame-pointer
+endif
+endif
+LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared
+LINKER_LINK_SHARED_DLOADABLE_OPTIONS = -shared -Wl,-R"$(RUNTIME_LINKER_PATH)" -Wl,-L.
+LINKER_LINK_SHARED_PROGRAM_OPTIONS = -Wl,-R"$(RUNTIME_LINKER_PATH)"
+LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,-soname,lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).so$(SONAME_VERSION)
+LIBRARIES = -lm -lpthread
+NEEDS_RELINKING = yes
+USES_SONAME = yes
+
+# special files
+
+CHICKEN_CONFIG_H = chicken-config.h
+
+# select default and internal settings
+
+include $(SRCDIR)/defaults.make
+
+# These may be useful for NetBSD:
+#
+#C_COMPILER_OPTIONS += -I/usr/pkg/lib
+#LINKER_OPTIONS += -L/usr/pkg/lib -Wl,-R/usr/pkg/lib
+
+chicken-config.h: chicken-defaults.h
+	echo "/* GENERATED */" >$@
+	echo "#define HAVE_DIRENT_H 1" >>$@
+	echo "#define HAVE_DLFCN_H 1" >>$@
+	echo "#define HAVE_INTTYPES_H 1" >>$@
+	echo "#define HAVE_LIMITS_H 1" >>$@
+	echo "#define HAVE_LONG_LONG 1" >>$@
+	echo "#define HAVE_MEMMOVE 1" >>$@
+	echo "#define HAVE_MEMORY_H 1" >>$@
+	echo "#define HAVE_POSIX_POLL 1" >>$@
+	echo "#define HAVE_SIGACTION 1" >>$@
+	echo "#define HAVE_SIGSETJMP 1" >>$@
+	echo "#define HAVE_STDINT_H 1" >>$@
+	echo "#define HAVE_STDLIB_H 1" >>$@
+	echo "#define HAVE_STRERROR 1" >>$@
+	echo "#define HAVE_STRINGS_H 1" >>$@
+	echo "#define HAVE_STRING_H 1" >>$@
+	echo "#define HAVE_STRTOLL 1" >>$@
+	echo "#define HAVE_STRTOQ 1" >>$@
+	echo "#define HAVE_SYS_STAT_H 1" >>$@
+	echo "#define HAVE_SYS_TYPES_H 1" >>$@
+	echo "#define HAVE_UNISTD_H 1" >>$@
+	echo "#define HAVE_UNSIGNED_LONG_LONG 1" >>$@
+	echo "#define STDC_HEADERS 1" >>$@
+	echo "#define HAVE_ALLOCA 1" >>$@
+	echo "#define HAVE_GRP_H 1" >>$@
+	echo "#define HAVE_ERRNO_H 1" >>$@
+	echo "#define HAVE_SYSEXITS_H 1" >>$@
+	echo "#define C_STACK_GROWS_DOWNWARD 1" >>$@
+ifdef GCHOOKS
+	echo "#define C_GC_HOOKS" >>$@
+endif
+ifdef SYMBOLGC
+	echo "#define C_COLLECT_ALL_SYMBOLS" >>$@
+endif
+ifneq ($(HACKED_APPLY),)
+	echo "#define C_HACKED_APPLY" >>$@
+endif
+	cat chicken-defaults.h >>$@
+
+include $(SRCDIR)/rules.make

File chicken-src/Makefile.cross-linux-mingw

View file
  • Ignore whitespace
+# Makefile.cross-linux-mingw - configuration for MinGW (crosscompiled from Linux) -*- Makefile -*-
+#
+# Copyright (c) 2008-2013, The Chicken Team
+# Copyright (c) 2007, Felix L. Winkelmann
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following
+# conditions are met:
+#
+#   Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+#     disclaimer. 
+#   Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+#     disclaimer in the documentation and/or other materials provided with the distribution. 
+#   Neither the name of the author nor the names of its contributors may be used to endorse or promote
+#     products derived from this software without specific prior written permission. 
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+
+ifneq ($(CONFIG),)
+include $(CONFIG)
+endif
+
+SRCDIR = ./
+
+# platform configuration
+
+DLLSINPATH = 1
+ARCH ?= x86
+HACKED_APPLY = 1
+WINDOWS = 1
+
+# file extensions
+
+SO = .dll
+EXE = .exe
+
+# commands
+
+HOSTSYSTEM ?= mingw32
+
+# options
+
+C_COMPILER_OPTIONS ?= -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H
+ifdef DEBUGBUILD
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -g -Wall -Wno-unused
+else
+ifdef OPTIMIZE_FOR_SPEED
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -O3 -fomit-frame-pointer
+else
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -Os -fomit-frame-pointer
+endif
+endif
+C_COMPILER_SHARED_OPTIONS = -DPIC
+LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared
+LIBRARIES = -lm -lws2_32
+LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,--out-implib,lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).dll.a
+LIBCHICKEN_SO_LIBRARIES = -lws2_32 
+LIBUCHICKEN_SO_LIBRARIES = -lws2_32 
+LIBCHICKEN_IMPORT_LIBRARY = lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).dll.a
+TARGET_C_COMPILER = gcc
+TARGET_CXX_COMPILER = g++
+
+# special files
+
+APPLY_HACK_OBJECT = apply-hack.$(ARCH)$(O)
+POSIXFILE = posixwin
+
+# select default and internal settings
+
+include $(SRCDIR)/defaults.make
+
+# main target
+
+ifndef BUILD_SETUP_TOOLS
+TARGETS = libchicken$(A) $(CHICKEN_PROGRAM)$(EXE) $(CSI_PROGRAM)$(EXE) \
+	$(CHICKEN_PROFILE_PROGRAM)$(EXE) $(CSC_PROGRAM)$(EXE) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) \
+	$(CHICKEN_BUG_PROGRAM)$(EXE)
+else
+TARGETS = libchicken$(A) $(CHICKEN_PROGRAM)$(EXE) $(CSI_PROGRAM)$(EXE) \
+	$(CHICKEN_PROFILE_PROGRAM)$(EXE) $(CSC_PROGRAM)$(EXE) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) \
+	$(CHICKEN_INSTALL_PROGRAM)$(EXE) $(CHICKEN_UNINSTALL_PROGRAM)$(EXE) \
+	$(CHICKEN_STATUS_PROGRAM)$(EXE) \
+	$(CHICKEN_BUG_PROGRAM)$(EXE)
+endif
+
+chicken-config.h: chicken-defaults.h
+	echo "/* GENERATED */" >$@
+	echo "#define HAVE_DIRENT_H 1" >>$@
+	echo "#define HAVE_INTTYPES_H 1" >>$@
+	echo "#define HAVE_LIMITS_H 1" >>$@
+	echo "#define HAVE_LONG_LONG 1" >>$@
+	echo "#define HAVE_MEMMOVE 1" >>$@
+	echo "#define HAVE_MEMORY_H 1" >>$@
+	echo "#define HAVE_STDINT_H 1" >>$@
+	echo "#define HAVE_STDLIB_H 1" >>$@
+	echo "#define HAVE_STRERROR 1" >>$@
+	echo "#define HAVE_STRINGS_H 1" >>$@
+	echo "#define HAVE_STRING_H 1" >>$@
+	echo "#define HAVE_STRTOLL 1" >>$@
+	echo "#define HAVE_SYS_STAT_H 1" >>$@
+	echo "#define HAVE_SYS_TYPES_H 1" >>$@
+	echo "#define HAVE_UNISTD_H 1" >>$@
+	echo "#define HAVE_UNSIGNED_LONG_LONG 1" >>$@
+	echo "#define HAVE_WINDOWS_H 1" >>$@
+	echo "#define HAVE__STRTOI64 1" >>$@
+	echo "#define STDC_HEADERS 1" >>$@
+	echo "#define HAVE_ALLOCA_H 1" >>$@
+	echo "#define HAVE_DIRECT_H 1" >>$@
+	echo "#define HAVE_ERRNO_H 1" >>$@
+	echo "#define HAVE_GCVT 1" >>$@
+	echo "#define HAVE_LOADLIBRARY 1" >>$@
+	echo "#define HAVE_GETPROCADDRESS 1" >>$@
+	echo "#define HAVE_WINSOCK2_H 1" >>$@
+	echo "#define HAVE_WS2TCPIP_H 1" >>$@
+	echo "#define C_STACK_GROWS_DOWNWARD 1" >>$@
+ifdef GCHOOKS
+	echo "#define C_GC_HOOKS" >>$@
+endif
+ifdef SYMBOLGC
+	echo "#define C_COLLECT_ALL_SYMBOLS" >>$@
+endif
+	echo "#define C_HACKED_APPLY" >>$@
+	cat chicken-defaults.h >>$@
+
+include $(SRCDIR)rules.make

File chicken-src/Makefile.cygwin

View file
  • Ignore whitespace
+# Makefile.cygwin - configuration for Linux -*- Makefile -*-
+#
+# Copyright (c) 2008-2013, The Chicken Team
+# Copyright (c) 2007, Felix L. Winkelmann
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following
+# conditions are met:
+#
+#   Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+#     disclaimer. 
+#   Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+#     disclaimer in the documentation and/or other materials provided with the distribution. 
+#   Neither the name of the author nor the names of its contributors may be used to endorse or promote
+#     products derived from this software without specific prior written permission. 
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+
+ifneq ($(CONFIG),)
+include $(CONFIG)
+endif
+
+SRCDIR = ./
+
+# platform configuration
+
+ARCH ?= x86
+HACKED_APPLY ?= 1
+DLLSINPATH = 1
+
+# options
+
+SO = .dll
+EXE = .exe
+
+C_COMPILER = gcc
+CXX_COMPILER = g++
+RC_COMPILER = windres
+LINKER = gcc
+TARGET_RC_COMPILER ?= $(RC_COMPILER)
+
+C_COMPILER_OPTIONS ?= -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H
+ifdef DEBUGBUILD
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -g -Wall -Wno-unused
+else
+ifdef OPTIMIZE_FOR_SPEED
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -O3 -fomit-frame-pointer
+else
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -Os -fomit-frame-pointer
+endif
+endif
+C_COMPILER_SHARED_OPTIONS = -DPIC
+LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared 
+LINKER_LINK_SHARED_PROGRAM_OPTIONS = -Wl,--dll-search-prefix=cyg
+LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,--out-implib,lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).dll.a \
+	-Wl,--export-all-symbols \
+	-Wl,--enable-auto-import \
+	-Wl,--image-base=0x10000000 \
+	-Wl,--dll \
+	-Wl,--add-stdcall-alias \
+	-Wl,--no-whole-archive
+
+LIBRARIES = -lm 
+LIBCHICKEN_IMPORT_LIBRARY = lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).dll.a
+
+
+# special files
+
+CHICKEN_CONFIG_H = chicken-config.h
+APPLY_HACK_OBJECT = apply-hack.$(ARCH)$(O)
+
+# select default and internal settings
+
+CUSTOM_CHICKEN_DEFAULTS=1
+include $(SRCDIR)/defaults.make
+
+LIBCHICKEN_SO_LIBRARIES = $(LIBRARIES)
+
+chicken-config.h: chicken-defaults.h
+	echo "/* GENERATED */" >$@
+	echo "#define C_INSTALL_RC_COMPILER \"$(RC_COMPILER)\"" >>$@
+	echo "#define C_TARGET_RC_COMPILER \"$(TARGET_RC_COMPILER)\"" >>$@
+	echo "#define HAVE_DIRENT_H 1" >>$@
+	echo "#define HAVE_INTTYPES_H 1" >>$@
+	echo "#define HAVE_LIMITS_H 1" >>$@
+	echo "#define HAVE_LONG_LONG 1" >>$@
+	echo "#define HAVE_MEMMOVE 1" >>$@
+	echo "#define HAVE_MEMORY_H 1" >>$@
+	echo "#define HAVE_SIGACTION 1" >>$@
+	echo "#define HAVE_STDINT_H 1" >>$@
+	echo "#define HAVE_STDLIB_H 1" >>$@
+	echo "#define HAVE_STRERROR 1" >>$@
+	echo "#define HAVE_STRINGS_H 1" >>$@
+	echo "#define HAVE_STRING_H 1" >>$@
+	echo "#define HAVE_STRTOLL 1" >>$@
+	echo "#define HAVE_STRTOQ 1" >>$@
+	echo "#define HAVE_SYS_STAT_H 1" >>$@
+	echo "#define HAVE_SYS_TYPES_H 1" >>$@
+	echo "#define HAVE_UNISTD_H 1" >>$@
+	echo "#define HAVE_UNSIGNED_LONG_LONG 1" >>$@
+	echo "#define STDC_HEADERS 1" >>$@
+	echo "#define HAVE_ALLOCA 1" >>$@
+	echo "#define HAVE_ALLOCA_H 1" >>$@
+	echo "#define HAVE_GRP_H 1" >>$@
+	echo "#define HAVE_ERRNO_H 1" >>$@
+	echo "#define HAVE_GCVT 1" >>$@
+	echo "#define HAVE_SYSEXITS_H 1" >>$@
+	echo "#define HAVE_DLFCN_H 1" >>$@
+	echo "#define C_STACK_GROWS_DOWNWARD 1" >>$@
+ifdef GCHOOKS
+	echo "#define C_GC_HOOKS" >>$@
+endif
+ifdef SYMBOLGC
+	echo "#define C_COLLECT_ALL_SYMBOLS" >>$@
+endif
+ifdef HACKED_APPLY
+	echo "#define C_HACKED_APPLY" >>$@
+endif
+	cat chicken-defaults.h >>$@
+
+chicken-defaults.h:
+	echo "/* generated */" >$@
+	echo "#define C_CHICKEN_PROGRAM \"$(CHICKEN_PROGRAM)$(EXE)\"" >>$@
+	echo "#ifndef C_INSTALL_CC" >>$@
+	echo "# define C_INSTALL_CC \"$(C_COMPILER)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_INSTALL_CXX" >>$@
+	echo "# define C_INSTALL_CXX \"$(CXX_COMPILER)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_INSTALL_CFLAGS" >>$@
+	echo "# define C_INSTALL_CFLAGS \"$(C_COMPILER_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)\"" >>$@
+	echo "#endif" >>$@
+	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" >>$@
+	echo "#ifndef C_INSTALL_BIN_HOME" >>$@
+	echo "# define C_INSTALL_BIN_HOME \"$(BINDIR)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_INSTALL_EGG_HOME" >>$@
+	echo "# define C_INSTALL_EGG_HOME \"$(EGGDIR)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_INSTALL_LIB_HOME" >>$@
+	echo "# define C_INSTALL_LIB_HOME \"$(LIBDIR)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_INSTALL_LIB_NAME" >>$@
+	echo "# define C_INSTALL_LIB_NAME \"$(INSTALL_LIB_NAME)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_INSTALL_STATIC_LIB_HOME" >>$@
+	echo "# define C_INSTALL_STATIC_LIB_HOME \"$(LIBDIR)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_INSTALL_INCLUDE_HOME" >>$@
+	echo "# define C_INSTALL_INCLUDE_HOME \"$(INCDIR)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_INSTALL_MORE_LIBS" >>$@
+	echo "# define C_INSTALL_MORE_LIBS \"$(LIBRARIES)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_INSTALL_MORE_STATIC_LIBS" >>$@
+	echo "# define C_INSTALL_MORE_STATIC_LIBS \"$(LIBRARIES)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_DEFAULT_TARGET_STACK_SIZE" >>$@
+	echo "# define C_DEFAULT_TARGET_STACK_SIZE $(NURSERY)" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_DEFAULT_TARGET_HEAP_SIZE" >>$@
+	echo "# define C_DEFAULT_TARGET_HEAP_SIZE 0" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_STACK_GROWS_DOWNWARD" >>$@
+	echo "# define C_STACK_GROWS_DOWNWARD $(STACKDIRECTION)" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_TARGET_MORE_LIBS" >>$@
+	echo "# define C_TARGET_MORE_LIBS \"$(TARGET_LIBRARIES)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_TARGET_MORE_LIBS" >>$@
+	echo "# define C_TARGET_MORE_LIBS \"$(TARGET_LIBRARIES)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_TARGET_MORE_STATIC_LIBS" >>$@
+	echo "# define C_TARGET_MORE_STATIC_LIBS \"$(TARGET_LIBRARIES)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_TARGET_CC" >>$@
+	echo "# define C_TARGET_CC \"$(TARGET_C_COMPILER)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_TARGET_CXX" >>$@
+	echo "# define C_TARGET_CXX \"$(TARGET_CXX_COMPILER)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_TARGET_CFLAGS" >>$@
+	echo "# define C_TARGET_CFLAGS \"$(TARGET_C_COMPILER_OPTIONS) $(TARGET_C_COMPILER_OPTIMIZATION_OPTIONS)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_TARGET_LDFLAGS" >>$@
+	echo "# define C_TARGET_LDFLAGS \"$(TARGET_LINKER_OPTIONS) $(TARGET_LINKER_OPTIMIZATION_OPTIONS)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_TARGET_FEATURES" >>$@
+	echo "# define C_TARGET_FEATURES \"$(TARGET_FEATURES)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_CROSS_CHICKEN" >>$@
+	echo "# define C_CROSS_CHICKEN $(CROSS_CHICKEN)" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_TARGET_PREFIX" >>$@
+	echo "# define C_TARGET_PREFIX \"$(TARGET_PREFIX)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_TARGET_BIN_HOME" >>$@
+	echo "# define C_TARGET_BIN_HOME \"$(TARGET_PREFIX)/bin\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_TARGET_LIB_HOME" >>$@
+	echo "# define C_TARGET_LIB_HOME \"$(TARGET_PREFIX)/lib\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_TARGET_LIB_NAME" >>$@
+	echo "# define C_TARGET_LIB_NAME \"$(TARGET_LIB_NAME)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_TARGET_RUN_LIB_HOME" >>$@
+	echo "# define C_TARGET_RUN_LIB_HOME \"$(TARGET_RUN_PREFIX)/bin\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_TARGET_SHARE_HOME" >>$@
+	echo "# define C_TARGET_SHARE_HOME \"$(TARGET_PREFIX)/share\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_TARGET_INCLUDE_HOME" >>$@
+	echo "# define C_TARGET_INCLUDE_HOME \"$(TARGET_PREFIX)/include/chicken\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_TARGET_STATIC_LIB_HOME" >>$@
+	echo "# define C_TARGET_STATIC_LIB_HOME \"$(TARGET_PREFIX)/lib\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_CHICKEN_PROGRAM" >>$@
+	echo "# define C_CHICKEN_PROGRAM \"$(CHICKEN_PROGRAM)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_CSC_PROGRAM" >>$@
+	echo "# define C_CSC_PROGRAM \"$(CSC_PROGRAM)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_CSI_PROGRAM" >>$@
+	echo "# define C_CSI_PROGRAM \"$(CSI_PROGRAM)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_CHICKEN_BUG_PROGRAM" >>$@
+	echo "# define C_CHICKEN_BUG_PROGRAM \"$(CHICKEN_BUG_PROGRAM)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_CHICKEN_INSTALL_PROGRAM" >>$@
+	echo "# define C_CHICKEN_INSTALL_PROGRAM \"$(CHICKEN_INSTALL_PROGRAM)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_CHICKEN_UNINSTALL_PROGRAM" >>$@
+	echo "# define C_CHICKEN_UNINSTALL_PROGRAM \"$(CHICKEN_UNINSTALL_PROGRAM)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_CHICKEN_STATUS_PROGRAM" >>$@
+	echo "# define C_CHICKEN_STATUS_PROGRAM \"$(CHICKEN_STATUS_PROGRAM)\"" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_WINDOWS_SHELL" >>$@
+	echo "# define C_WINDOWS_SHELL 0" >>$@
+	echo "#endif" >>$@
+	echo "#ifndef C_BINARY_VERSION" >>$@
+	echo "# define C_BINARY_VERSION $(BINARYVERSION)" >>$@
+	echo "#endif" >>$@
+	echo "/* END OF FILE */" >>$@
+
+include $(SRCDIR)/rules.make

File chicken-src/Makefile.haiku

View file
  • Ignore whitespace
+# Makefile.haiku - configuration for Haiku -*- Makefile -*-
+#
+# Copyright (c) 2011-2013, The Chicken Team
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following
+# conditions are met:
+#
+#   Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+#     disclaimer. 
+#   Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+#     disclaimer in the documentation and/or other materials provided with the distribution. 
+#   Neither the name of the author nor the names of its contributors may be used to endorse or promote
+#     products derived from this software without specific prior written permission. 
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+
+ifneq ($(CONFIG),)
+include $(CONFIG)
+endif
+
+SRCDIR ?= ./
+
+# platform configuration
+
+ARCH ?= $(shell sh $(SRCDIR)/config-arch.sh)
+
+# options
+
+C_COMPILER_OPTIONS ?= -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H
+ifdef DEBUGBUILD
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -g -Wall -Wno-unused
+else
+ifdef OPTIMIZE_FOR_SPEED
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -O3 -fomit-frame-pointer
+else
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -Os -fomit-frame-pointer
+endif
+endif
+LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared
+LINKER_LINK_SHARED_DLOADABLE_OPTIONS = -L. -shared -Wl,-R$(RUNTIME_LINKER_PATH)
+LINKER_LINK_SHARED_PROGRAM_OPTIONS = -Wl,-R$(RUNTIME_LINKER_PATH)
+LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,-soname,lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).so$(SONAME_VERSION)
+LIBRARIES = -lnetwork
+NEEDS_RELINKING = yes
+USES_SONAME = yes
+
+# special files
+
+CHICKEN_CONFIG_H = chicken-config.h
+
+# select default and internal settings
+
+include $(SRCDIR)/defaults.make
+
+chicken-config.h: chicken-defaults.h
+	echo "/* GENERATED */" >$@
+	echo "#define HAVE_DIRENT_H 1" >>$@
+	echo "#define HAVE_DLFCN_H 1" >>$@
+	echo "#define HAVE_INTTYPES_H 1" >>$@
+	echo "#define HAVE_LIMITS_H 1" >>$@
+	echo "#define HAVE_LONG_LONG 1" >>$@
+	echo "#define HAVE_MEMMOVE 1" >>$@
+	echo "#define HAVE_MEMORY_H 1" >>$@
+	echo "#define HAVE_POSIX_POLL 1" >>$@
+	echo "#define HAVE_SIGACTION 1" >>$@
+	echo "#define HAVE_SIGSETJMP 1" >>$@
+	echo "#define HAVE_STDINT_H 1" >>$@
+	echo "#define HAVE_STDLIB_H 1" >>$@
+	echo "#define HAVE_STRERROR 1" >>$@
+	echo "#define HAVE_STRINGS_H 1" >>$@
+	echo "#define HAVE_STRING_H 1" >>$@
+	echo "#define HAVE_STRTOLL 1" >>$@
+	echo "#define HAVE_STRTOQ 1" >>$@
+	echo "#define HAVE_SYS_STAT_H 1" >>$@
+	echo "#define HAVE_SYS_TYPES_H 1" >>$@
+	echo "#define HAVE_UNISTD_H 1" >>$@
+	echo "#define HAVE_UNSIGNED_LONG_LONG 1" >>$@
+	echo "#define STDC_HEADERS 1" >>$@
+	echo "#define HAVE_ALLOCA 1" >>$@
+	echo "#define HAVE_ALLOCA_H 1" >>$@
+	echo "#define HAVE_GRP_H 1" >>$@
+	echo "#define HAVE_ERRNO_H 1" >>$@
+	echo "#define HAVE_GCVT 1" >>$@
+	echo "#define HAVE_MEMMOVE 1" >>$@
+	echo "#define C_STACK_GROWS_DOWNWARD 1" >>$@
+	echo "#define SIGIO 0" >>$@
+ifdef GCHOOKS
+	echo "#define C_GC_HOOKS" >>$@
+endif
+ifdef SYMBOLGC
+	echo "#define C_COLLECT_ALL_SYMBOLS" >>$@
+endif
+ifneq ($(HACKED_APPLY),)
+	echo "#define C_HACKED_APPLY" >>$@
+endif
+	cat chicken-defaults.h >>$@
+
+include $(SRCDIR)/rules.make

File chicken-src/Makefile.linux

View file
  • Ignore whitespace
+# Makefile.linux - configuration for Linux -*- Makefile -*-
+#
+# Copyright (c) 2008-2013, The Chicken Team
+# Copyright (c) 2007, Felix L. Winkelmann
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following
+# conditions are met:
+#
+#   Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+#     disclaimer. 
+#   Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+#     disclaimer in the documentation and/or other materials provided with the distribution. 
+#   Neither the name of the author nor the names of its contributors may be used to endorse or promote
+#     products derived from this software without specific prior written permission. 
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+
+ifneq ($(CONFIG),)
+include $(CONFIG)
+endif
+
+SRCDIR ?= ./
+
+# platform configuration
+
+ARCH ?= $(shell sh $(SRCDIR)/config-arch.sh)
+
+# options
+
+C_COMPILER_OPTIONS ?= -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H
+ifdef DEBUGBUILD
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -g -Wall -Wno-unused
+else
+ifdef OPTIMIZE_FOR_SPEED
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -O3 -fomit-frame-pointer
+else
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -Os -fomit-frame-pointer
+endif
+endif
+LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared
+LINKER_LINK_SHARED_DLOADABLE_OPTIONS = -L. -shared -Wl,-R"$(RUNTIME_LINKER_PATH)"
+LINKER_LINK_SHARED_PROGRAM_OPTIONS = -Wl,-R"$(RUNTIME_LINKER_PATH)"
+LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,-soname,lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).so$(SONAME_VERSION)
+LIBRARIES = -lm -ldl
+NEEDS_RELINKING = yes
+USES_SONAME = yes
+
+# special files
+
+CHICKEN_CONFIG_H = chicken-config.h
+
+# select default and internal settings
+
+include $(SRCDIR)/defaults.make
+
+chicken-config.h: chicken-defaults.h
+	echo "/* GENERATED */" >$@
+	echo "#define HAVE_DIRENT_H 1" >>$@
+	echo "#define HAVE_DLFCN_H 1" >>$@
+	echo "#define HAVE_INTTYPES_H 1" >>$@
+	echo "#define HAVE_LIMITS_H 1" >>$@
+	echo "#define HAVE_LONG_LONG 1" >>$@
+	echo "#define HAVE_MEMMOVE 1" >>$@
+	echo "#define HAVE_MEMORY_H 1" >>$@
+	echo "#define HAVE_POSIX_POLL 1" >>$@
+	echo "#define HAVE_SIGACTION 1" >>$@
+	echo "#define HAVE_SIGSETJMP 1" >>$@
+	echo "#define HAVE_STDINT_H 1" >>$@
+	echo "#define HAVE_STDLIB_H 1" >>$@
+	echo "#define HAVE_STRERROR 1" >>$@
+	echo "#define HAVE_STRINGS_H 1" >>$@
+	echo "#define HAVE_STRING_H 1" >>$@
+	echo "#define HAVE_STRTOLL 1" >>$@
+	echo "#define HAVE_STRTOQ 1" >>$@
+	echo "#define HAVE_SYS_STAT_H 1" >>$@
+	echo "#define HAVE_SYS_TYPES_H 1" >>$@
+	echo "#define HAVE_UNISTD_H 1" >>$@
+	echo "#define HAVE_UNSIGNED_LONG_LONG 1" >>$@
+	echo "#define STDC_HEADERS 1" >>$@
+	echo "#define HAVE_ALLOCA 1" >>$@
+	echo "#define HAVE_ALLOCA_H 1" >>$@
+	echo "#define HAVE_GRP_H 1" >>$@
+	echo "#define HAVE_ERRNO_H 1" >>$@
+	echo "#define HAVE_GCVT 1" >>$@
+	echo "#define HAVE_SYSEXITS_H 1" >>$@
+	echo "#define HAVE_MEMMOVE 1" >>$@
+	echo "#define C_STACK_GROWS_DOWNWARD 1" >>$@
+ifdef GCHOOKS
+	echo "#define C_GC_HOOKS" >>$@
+endif
+ifdef SYMBOLGC
+	echo "#define C_COLLECT_ALL_SYMBOLS" >>$@
+endif
+ifneq ($(HACKED_APPLY),)
+	echo "#define C_HACKED_APPLY" >>$@
+endif
+	cat chicken-defaults.h >>$@
+
+include $(SRCDIR)/rules.make

File chicken-src/Makefile.macosx

View file
  • Ignore whitespace
+# Makefile.macosx - configuration for Apple Macintosh OS X -*- Makefile -*-
+#
+# Copyright (c) 2008-2013, The Chicken Team
+# Copyright (c) 2007, Felix L. Winkelmann
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following
+# conditions are met:
+#
+#   Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+#     disclaimer. 
+#   Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+#     disclaimer in the documentation and/or other materials provided with the distribution. 
+#   Neither the name of the author nor the names of its contributors may be used to endorse or promote
+#     products derived from this software without specific prior written permission. 
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+
+ifneq ($(CONFIG),)
+include $(CONFIG)
+endif
+
+SRCDIR = ./
+
+# platform configuration
+
+ARCH ?= $(shell sh $(SRCDIR)/config-arch.sh)
+
+# commands
+
+POSTINSTALL_PROGRAM = install_name_tool
+
+# options
+
+C_COMPILER_OPTIONS ?= -no-cpp-precomp -fno-strict-aliasing -fwrapv -fno-common -DHAVE_CHICKEN_CONFIG_H
+ifdef DEBUGBUILD
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -g -Wall -Wno-unused
+else
+ifdef OPTIMIZE_FOR_SPEED
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -O3 -fomit-frame-pointer
+else
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -Os -fomit-frame-pointer
+endif
+endif
+LINKER_LINK_SHARED_LIBRARY_OPTIONS = -dynamiclib -compatibility_version 1 -current_version 1.0 -install_name $@
+POSTINSTALL_PROGRAM_FLAGS = -change lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) $(LIBDIR)/lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO)
+LIBRARIAN_OPTIONS = scru
+LINKER_LINK_SHARED_DLOADABLE_OPTIONS = -bundle -L.
+ASSEMBLER_OPTIONS =
+
+# file extensions
+
+SO = .dylib
+
+# special files
+
+CHICKEN_CONFIG_H = chicken-config.h
+APPLY_HACK_OBJECT = apply-hack.$(ARCH)$(O)
+HACKED_APPLY ?= 1
+
+# architectures
+
+ifeq ($(ARCH),x86-64)
+C_COMPILER_OPTIONS += -m64
+LINKER_OPTIONS += -m64
+# Avoid bus error in install_name_tool
+LINKER_LINK_SHARED_DLOADABLE_OPTIONS += -Wl,-headerpad -Wl,128
+else
+
+ifeq ($(ARCH),universal)
+C_COMPILER_OPTIONS += -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk
+LINKER_OPTIONS += -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk
+endif
+
+endif
+
+# select default and internal settings
+
+include $(SRCDIR)/defaults.make
+
+chicken-config.h: chicken-defaults.h
+	echo "/* GENERATED */" >$@
+	echo "#define HAVE_DIRENT_H 1" >>$@
+	echo "#define HAVE_DLFCN_H 1" >>$@
+	echo "#define HAVE_INTTYPES_H 1" >>$@
+	echo "#define HAVE_LIMITS_H 1" >>$@
+	echo "#define HAVE_LONG_LONG 1" >>$@
+	echo "#define HAVE_MEMMOVE 1" >>$@
+	echo "#define HAVE_MEMORY_H 1" >>$@
+	echo "#define HAVE_POSIX_POLL 1" >>$@
+	echo "#define HAVE_SIGACTION 1" >>$@
+	echo "#define HAVE_SIGSETJMP 1" >>$@
+	echo "#define HAVE_STDINT_H 1" >>$@
+	echo "#define HAVE_STDLIB_H 1" >>$@
+	echo "#define HAVE_STRERROR 1" >>$@
+	echo "#define HAVE_STRINGS_H 1" >>$@
+	echo "#define HAVE_STRING_H 1" >>$@
+	echo "#define HAVE_STRTOLL 1" >>$@
+	echo "#define HAVE_STRTOQ 1" >>$@
+	echo "#define HAVE_SYS_STAT_H 1" >>$@
+	echo "#define HAVE_SYS_TYPES_H 1" >>$@
+	echo "#define HAVE_UNISTD_H 1" >>$@
+	echo "#define HAVE_UNSIGNED_LONG_LONG 1" >>$@
+	echo "#define STDC_HEADERS 1" >>$@
+	echo "#define HAVE_ALLOCA 1" >>$@
+	echo "#define HAVE_ALLOCA_H 1" >>$@
+	echo "#define HAVE_GRP_H 1" >>$@
+	echo "#define HAVE_CRT_EXTERNS_H 1" >>$@
+	echo "#define HAVE_ERRNO_H 1" >>$@
+	echo "#define HAVE_SYSEXITS_H 1" >>$@
+	echo "#define C_STACK_GROWS_DOWNWARD 1" >>$@
+ifdef GCHOOKS
+	echo "#define C_GC_HOOKS" >>$@
+endif
+ifdef SYMBOLGC
+	echo "#define C_COLLECT_ALL_SYMBOLS" >>$@
+endif
+ifneq ($(HACKED_APPLY),)
+	echo "#define C_HACKED_APPLY" >>$@
+endif
+	cat chicken-defaults.h >>$@
+
+ifeq ($(ARCH),universal)
+ifneq ($(HACKED_APPLY),)
+# We undefine HACKED_APPLY in order to override rules.make
+# with our own build rules.
+HACKED_APPLY=
+apply-hack.ppc.darwin$(O): $(SRCDIR)apply-hack.ppc.darwin.S
+	$(ASSEMBLER) $(ASSEMBLER_OPTIONS) -arch ppc \
+           $(ASSEMBLER_COMPILE_OPTION) $< $(ASSEMBLER_OUTPUT)
+apply-hack.x86$(O): $(SRCDIR)apply-hack.x86.S
+	$(ASSEMBLER) $(ASSEMBLER_OPTIONS) -arch i386 \
+           $(ASSEMBLER_COMPILE_OPTION) $< $(ASSEMBLER_OUTPUT)
+$(APPLY_HACK_OBJECT): apply-hack.x86$(O) apply-hack.ppc.darwin$(O)
+	lipo -create -output $@ $^
+endif
+endif
+
+include $(SRCDIR)/rules.make

File chicken-src/Makefile.mingw

View file
  • Ignore whitespace
+# Makefile.mingw - configuration for MinGW (no MSYS) -*- Makefile -*-
+#
+# Copyright (c) 2008-2013, The Chicken Team
+# Copyright (c) 2007, Felix L. Winkelmann
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following
+# conditions are met:
+#
+#   Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+#     disclaimer. 
+#   Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+#     disclaimer in the documentation and/or other materials provided with the distribution. 
+#   Neither the name of the author nor the names of its contributors may be used to endorse or promote
+#     products derived from this software without specific prior written permission. 
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+
+ifneq ($(CONFIG),)
+include $(CONFIG)
+endif
+
+SEP = $(strip \)
+SRCDIR =.$(SEP)
+
+# platform configuration
+
+DLLSINPATH = 1
+ARCH ?= x86
+WINDOWS = 1
+WINDOWS_SHELL = 1
+UNAME_SYS = MinGW
+
+ifeq ($(ARCH),x86)
+HACKED_APPLY ?= 1
+else
+HACKED_APPLY =
+endif
+
+# file extensions
+
+SO = .dll
+EXE = .exe
+
+# options
+
+C_COMPILER ?= gcc
+C_COMPILER_OPTIONS ?= -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H
+ifdef DEBUGBUILD
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -g -Wall -Wno-unused
+else
+ifdef OPTIMIZE_FOR_SPEED
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -O3
+else
+C_COMPILER_OPTIMIZATION_OPTIONS ?= -Os
+endif
+endif
+C_COMPILER_SHARED_OPTIONS = -DPIC
+RC_COMPILER ?= windres
+LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared
+LIBRARIES = -lm -lws2_32
+LINKER_OPTIONS += -Wl,--enable-auto-import
+LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,--out-implib,lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).dll.a
+LIBCHICKEN_SO_LIBRARIES = -lm -lws2_32 
+LIBCHICKEN_IMPORT_LIBRARY = lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).dll.a
+MAKEDIR_COMMAND_OPTIONS =
+CUSTOM_RC_FILE = 1
+
+# special files
+
+CHICKEN_CONFIG_H = chicken-config.h
+APPLY_HACK_OBJECT = apply-hack.$(ARCH)$(O)
+POSIXFILE = posixwin
+
+# select default and internal settings
+
+CUSTOM_CHICKEN_DEFAULTS=1
+
+include $(SRCDIR)defaults.make
+
+chicken-config.h: chicken-defaults.h
+	echo /* GENERATED */ >$@
+	echo #define HAVE_DIRENT_H 1 >>$@
+	echo #define HAVE_INTTYPES_H 1 >>$@
+	echo #define HAVE_LIMITS_H 1 >>$@
+	echo #define HAVE_LONG_LONG 1 >>$@
+	echo #define HAVE_MEMMOVE 1 >>$@
+	echo #define HAVE_MEMORY_H 1 >>$@
+	echo #define HAVE_STDINT_H 1 >>$@
+	echo #define HAVE_STDLIB_H 1 >>$@
+	echo #define HAVE_STRERROR 1 >>$@
+	echo #define HAVE_STRINGS_H 1 >>$@
+	echo #define HAVE_STRING_H 1 >>$@
+	echo #define HAVE_STRTOLL 1 >>$@
+	echo #define HAVE_SYS_STAT_H 1 >>$@
+	echo #define HAVE_SYS_TYPES_H 1 >>$@
+	echo #define HAVE_UNISTD_H 1 >>$@
+	echo #define HAVE_UNSIGNED_LONG_LONG 1 >>$@
+	echo #define HAVE_WINDOWS_H 1 >>$@
+	echo #define HAVE__STRTOI64 1 >>$@
+	echo #define STDC_HEADERS 1 >>$@
+	echo #define HAVE_DIRECT_H 1 >>$@
+	echo #define HAVE_ERRNO_H 1 >>$@
+	echo #define HAVE_GCVT 1 >>$@
+	echo #define HAVE_LOADLIBRARY 1 >>$@
+	echo #define HAVE_GETPROCADDRESS 1 >>$@
+	echo #define HAVE_WINSOCK2_H 1 >>$@
+	echo #define HAVE_WS2TCPIP_H 1 >>$@
+	echo #define C_STACK_GROWS_DOWNWARD 1 >>$@
+ifdef GCHOOKS
+	echo #define C_GC_HOOKS >>$@
+endif
+ifdef SYMBOLGC
+	echo #define C_COLLECT_ALL_SYMBOLS >>$@
+endif
+ifneq ($(HACKED_APPLY),)
+	echo #define C_HACKED_APPLY >>$@
+endif
+	type chicken-defaults.h >>$@
+
+chicken-defaults.h:
+ifdef OPTIMIZE_FOR_SPEED
+	echo /* (this build was optimized for speed) */ >>$@
+endif
+	echo #define C_CHICKEN_PROGRAM "$(CHICKEN_PROGRAM)$(EXE)" >>$@
+	echo #define C_WINDOWS_SHELL 1 >>$@
+	echo #ifndef C_INSTALL_CC >>$@
+	echo # define C_INSTALL_CC "$(C_COMPILER)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_INSTALL_CXX >>$@
+	echo # define C_INSTALL_CXX "$(CXX_COMPILER)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_INSTALL_RC_COMPILER >>$@
+	echo # define C_INSTALL_RC_COMPILER "$(RC_COMPILER)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_INSTALL_CFLAGS >>$@
+	echo # define C_INSTALL_CFLAGS "$(C_COMPILER_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)" >>$@
+	echo #endif >>$@
+	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 >>$@
+	echo #ifndef C_INSTALL_BIN_HOME >>$@
+	echo # define C_INSTALL_BIN_HOME "$(BINDIR)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_INSTALL_EGG_HOME >>$@
+	echo # define C_INSTALL_EGG_HOME "$(EGGDIR)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_INSTALL_LIB_HOME >>$@
+	echo # define C_INSTALL_LIB_HOME "$(LIBDIR)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_INSTALL_LIB_NAME >>$@
+	echo # define C_INSTALL_LIB_NAME "$(INSTALL_LIB_NAME)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_INSTALL_STATIC_LIB_HOME >>$@
+	echo # define C_INSTALL_STATIC_LIB_HOME "$(LIBDIR)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_INSTALL_INCLUDE_HOME >>$@
+	echo # define C_INSTALL_INCLUDE_HOME "$(INCDIR)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_INSTALL_MORE_LIBS >>$@
+	echo # define C_INSTALL_MORE_LIBS "$(LIBRARIES)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_INSTALL_MORE_STATIC_LIBS >>$@
+	echo # define C_INSTALL_MORE_STATIC_LIBS "$(LIBRARIES)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_DEFAULT_TARGET_HEAP_SIZE >>$@
+	echo # define C_DEFAULT_TARGET_HEAP_SIZE 0 >>$@
+	echo #endif >>$@
+	echo #ifndef C_STACK_GROWS_DOWNWARD >>$@
+	echo # define C_STACK_GROWS_DOWNWARD $(STACKDIRECTION) >>$@
+	echo #endif >>$@
+	echo #ifndef C_TARGET_MORE_LIBS >>$@
+	echo # define C_TARGET_MORE_LIBS "$(TARGET_LIBRARIES)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_TARGET_MORE_STATIC_LIBS >>$@
+	echo # define C_TARGET_MORE_STATIC_LIBS "$(TARGET_LIBRARIES)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_TARGET_CC >>$@
+	echo # define C_TARGET_CC "$(TARGET_C_COMPILER)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_TARGET_CXX >>$@
+	echo # define C_TARGET_CXX "$(TARGET_CXX_COMPILER)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_TARGET_RC_COMPILER >>$@
+	echo # define C_TARGET_RC_COMPILER "$(TARGET_RC_COMPILER)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_TARGET_CFLAGS >>$@
+	echo # define C_TARGET_CFLAGS "$(TARGET_C_COMPILER_OPTIONS) $(TARGET_C_COMPILER_OPTIMIZATION_OPTIONS)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_TARGET_LDFLAGS >>$@
+	echo # define C_TARGET_LDFLAGS "$(TARGET_LINKER_OPTIONS) $(TARGET_LINKER_OPTIMIZATION_OPTIONS)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_TARGET_FEATURES >>$@
+	echo # define C_TARGET_FEATURES "$(TARGET_FEATURES)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_CROSS_CHICKEN >>$@
+	echo # define C_CROSS_CHICKEN $(CROSS_CHICKEN) >>$@
+	echo #endif >>$@
+	echo #ifndef C_TARGET_PREFIX >>$@
+	echo # define C_TARGET_PREFIX "$(TARGET_PREFIX)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_TARGET_BIN_HOME >>$@
+	echo # define C_TARGET_BIN_HOME "$(TARGET_PREFIX)/bin" >>$@
+	echo #endif >>$@
+	echo #ifndef C_TARGET_LIB_HOME >>$@
+	echo # define C_TARGET_LIB_HOME "$(TARGET_PREFIX)/lib" >>$@
+	echo #endif >>$@
+	echo #ifndef C_TARGET_LIB_NAME >>$@
+	echo # define C_TARGET_LIB_NAME "$(TARGET_LIB_NAME)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_TARGET_RUN_LIB_HOME >>$@
+	echo # define C_TARGET_RUN_LIB_HOME "$(TARGET_PREFIX)/lib" >>$@
+	echo #endif >>$@
+	echo #ifndef C_TARGET_SHARE_HOME >>$@
+	echo # define C_TARGET_SHARE_HOME "$(TARGET_PREFIX)/share" >>$@
+	echo #endif >>$@
+	echo #ifndef C_TARGET_INCLUDE_HOME >>$@
+	echo # define C_TARGET_INCLUDE_HOME "$(TARGET_PREFIX)/include/chicken" >>$@
+	echo #endif >>$@
+	echo #ifndef C_TARGET_STATIC_LIB_HOME >>$@
+	echo # define C_TARGET_STATIC_LIB_HOME "$(TARGET_PREFIX)/lib" >>$@
+	echo #endif >>$@
+	echo #ifndef C_CSC_PROGRAM >>$@
+	echo # define C_CSC_PROGRAM "$(CSC_PROGRAM)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_CSI_PROGRAM >>$@
+	echo # define C_CSI_PROGRAM "$(CSI_PROGRAM)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_CHICKEN_BUG_PROGRAM >>$@
+	echo # define C_CHICKEN_BUG_PROGRAM "$(CHICKEN_BUG_PROGRAM)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_CHICKEN_INSTALL_PROGRAM >>$@
+	echo # define C_CHICKEN_INSTALL_PROGRAM "$(CHICKEN_INSTALL_PROGRAM)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_CHICKEN_UNINSTALL_PROGRAM >>$@
+	echo # define C_CHICKEN_UNINSTALL_PROGRAM "$(CHICKEN_UNINSTALL_PROGRAM)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_CHICKEN_STATUS_PROGRAM >>$@
+	echo # define C_CHICKEN_STATUS_PROGRAM "$(CHICKEN_STATUS_PROGRAM)" >>$@
+	echo #endif >>$@
+	echo #ifndef C_BINARY_VERSION >>$@
+	echo # define C_BINARY_VERSION $(BINARYVERSION) >>$@
+	echo #endif >>$@
+	echo /* END OF FILE */ >>$@
+
+chicken-install.rc:
+	echo /* GENERATED */ >$@
+	echo 1 24 MOVEABLE PURE >>$@
+	echo BEGIN >>$@
+	echo   "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>\r\n" >>$@
+	echo   "<assembly xmlns=""urn:schemas-microsoft-com:asm.v1"" manifestVersion=""1.0"">\r\n" >>$@
+	echo   "  <assemblyIdentity version=""1.0.0.0"" processorArchitecture=""*"" name=""$(PROGRAM_PREFIX)chicken-install$(PROGRAM_SUFFIX)"" type=""win32""/>\r\n" >>$@
+	echo   "  <ms_asmv2:trustInfo xmlns:ms_asmv2=""urn:schemas-microsoft-com:asm.v2"">\r\n" >>$@
+	echo   "    <ms_asmv2:security>\r\n" >>$@
+	echo   "      <ms_asmv2:requestedPrivileges>\r\n" >>$@
+	echo   "        <ms_asmv2:requestedExecutionLevel level=""asInvoker"" uiAccess=""false""/>\r\n" >>$@
+	echo   "      </ms_asmv2:requestedPrivileges>\r\n" >>$@
+	echo   "    </ms_asmv2:security>\r\n" >>$@
+	echo   "  </ms_asmv2:trustInfo>\r\n" >>$@
+	echo   "</assembly>\r\n" >>$@
+	echo END >>$@
+	echo /* END OF FILE */ >>$@
+
+chicken-uninstall.rc:
+	echo /* END OF FILE */ >$@
+	echo 1 24 MOVEABLE PURE >>$@
+	echo BEGIN >>$@
+	echo   "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>\r\n" >>$@
+	echo   "<assembly xmlns=""urn:schemas-microsoft-com:asm.v1"" manifestVersion=""1.0"">\r\n" >>$@
+	echo   "  <assemblyIdentity version=""1.0.0.0"" processorArchitecture=""*"" name=""$(PROGRAM_PREFIX)chicken-uninstall$(PROGRAM_SUFFIX)"" type=""win32""/>\r\n" >>$@
+	echo   "  <ms_asmv2:trustInfo xmlns:ms_asmv2=""urn:schemas-microsoft-com:asm.v2"">\r\n" >>$@
+	echo   "    <ms_asmv2:security>\r\n" >>$@
+	echo   "      <ms_asmv2:requestedPrivileges>\r\n" >>$@
+	echo   "        <ms_asmv2:requestedExecutionLevel level=""asInvoker"" uiAccess=""false""/>\r\n" >>$@
+	echo   "      </ms_asmv2:requestedPrivileges>\r\n" >>$@
+	echo   "    </ms_asmv2:security>\r\n" >>$@
+	echo   "  </ms_asmv2:trustInfo>\r\n" >>$@
+	echo   "</assembly>\r\n" >>$@
+	echo END >>$@
+	echo /* END OF FILE */ >>$@
+
+include $(SRCDIR)rules.make

File chicken-src/Makefile.mingw-msys

View file
  • Ignore whitespace