1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
-
-
+
+
+
+
-
+
-
+
+
+
|
# Copyright 2013-2015 Matthew Welland.
#
# This program is made available under the GNU GPL version 2.0 or
# greater. See the accompanying file COPYING for details.
#
# This program is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE.
# make PREFIX=/mfs/pkgs/chicken/chicken-core all
help :
@echo You may need to do the following setup first:
@echo
@echo sudo apt-get install libreadline-dev
@echo sudo apt-get install libwebkitgtk-dev libfreetype6-dev libx11-dev libxpm-dev libxmu-dev \
libxft-dev libgtk2.0-dev libgl1-mesa-dev libglu1-mesa-dev libpangox-1.0-dev bison \
libwebkitgtk-3.0-dev
@echo -- nb// adding monodevelop gets more packages of which some might be needed...
@echo sudo apt-get install libmotif3
@echo
@echo Set up your PATH, setting it in the Makefile does not work as expected
@echo export PATH=$(PREFIX)/bin:\$$PATH
@echo
@echo For IUP set IUPBRANCH, currently $(IUPBRANCH)
@echo set IUPCONFIG, currently $(IUPCONFIG) - look in https://www.kiatoa.com/fossils/iuplib for .inc files
@echo You are using PREFIX=$(PREFIX)
@echo You are using PROXY="$(PROXY)"
@echo If needed set PROXY to host.dom:port
@echo http_proxy=$(http_proxy)
@echo
@echo To make all do: make all
@echo make minimal: make nogui
@echo
@echo Note: might need to do CSC_OPTIONS='-C "-fPIC"' make
@echo Note: If compiling on amd64 do CSC_OPTIONS=\'-C "-fPIC"\' make all IUPCONFIG=
FPIC=-C "-fPIC"
# Put the installation here
ifeq ($(PREFIX),)
PREFIX=$(PWD)/target
endif
# Set this on the command line of your make call if needed: make PROXY=host.com:1234
PROXY=
# http://code.call-cc.org/dev-snapshots/2015/06/07/chicken-4.10.0rc1.tar.gz
# http://code.call-cc.org/releases/4.10.0/chicken-4.10.0.tar.gz
# Select version of chicken, sqlite3 etc
CHICKEN_VERSION=4.10.0
SQLITE3_VERSION=3090200
# http://www.sqlite.org/2014/sqlite-autoconf-3080500.tar.gz
# http://www.sqlite.org/2015/sqlite-autoconf-3081101.tar.gz
# Override IUPBRANCH to use other than trunk
IUPBRANCH=iup-3.15
IUPBRANCH=trunk
IUPCONFIG=ubuntu-15.04.inc
# iup-3.15
# Eggs to install (straightforward ones)
EGGS=matchable readline apropos base64 regex-literals format regex-case test coops trace csv \
dot-locking posix-utils posix-extras directory-utils hostinfo tcp-server rpc csv-xml fmt \
json md5 awful http-client spiffy uri-common intarweb spiffy-request-vars \
spiffy-directory-listing ssax sxml-serializer sxml-modifications sql-de-lite \
srfi-19 refdb ini-file sparse-vectors z3 call-with-environment-variables hahn linenoise \
|
︙ | | |
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
-
+
-
-
+
+
|
endif
BUILDHOME=$(PWD)
PATH:=$(PREFIX)/bin:$(PATH)
LIBPATH=$(PREFIX)/lib$(ADDITIONAL_LIBPATH)
LD_LIBRARY_PATH=$(LIBPATH)
CHICKEN_INSTALL=$(PREFIX)/bin/chicken-install
CHICKEN_EGG_DIR=$(PREFIX)/lib/chicken/6
CHICKEN_EGG_DIR=$(PREFIX)/lib/chicken/7
VPATH=$(CHICKEN_EGG_DIR):$(PWD)/eggflags
vpath %.so $(CHICKEN_EGG_DIR)
vpath %.flag eggflags
EGGSOFILES=$(addprefix $(CHICKEN_EGG_DIR)/,$(addsuffix .so,$(EGGS)))
EGGFLAGS=$(addprefix eggflags/,$(addsuffix .flag,$(EGGS)))
# Stuff needed for IUP
ISARCHX86_64=$(shell uname -a | grep x86_64)
ifeq ($(ISARCHX86_64),)
ARCHSIZE=
else
ARCHSIZE=64_
endif
CSCLIBS=$(shell echo $(LD_LIBRARY_PATH) | sed 's/:/ -L/g')
CSC_OPTIONS="-I$(PREFIX)/include -L$(CSCLIBS) -C \"-fPIC\""
# CSC_OPTIONS=-I$(PREFIX)/include -L$(CSCLIBS)
# CSC_OPTIONS="-I$(PREFIX)/include -L$(CSCLIBS) -C \"-fPIC\""
# CSC_OPTIONS=-I $(PREFIX)/include -L $(CSCLIBS)
nogui : base mutils
all : nogui libiup $(PREFIX)/lib/sqlite3.so
base : chkn eggs
|
︙ | | |
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
|
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
|
-
+
|
sqlite-autoconf-$(SQLITE3_VERSION)/config.log : sqlite-autoconf-$(SQLITE3_VERSION).tar.gz
tar xf sqlite-autoconf-$(SQLITE3_VERSION).tar.gz
$(PREFIX)/bin/sqlite3 : sqlite-autoconf-$(SQLITE3_VERSION)/config.log
cd sqlite-autoconf-$(SQLITE3_VERSION);./configure --prefix=$(PREFIX);make;make install
$(PREFIX)/lib/sqlite3.so : $(PREFIX)/bin/sqlite3
$(CHICKEN_EGG_DIR)/sqlite3.so : $(PREFIX)/bin/sqlite3
CSC_OPTIONS="-I$(PREFIX)/include -L$(PREFIX)/lib" $(CHICKEN_INSTALL) $(PROX) sqlite3
#======================================================================
# N A N O M S G
#======================================================================
# https://github.com/nanomsg/nanomsg/releases/download/0.6-beta/nanomsg-0.6-beta.tar.gz
|
︙ | | |
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
|
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
|
-
+
|
$(PREFIX)/lib/chicken/7/dbi.so : opensrc/dbi/dbi.scm
cd opensrc/dbi;chicken-install
$(PREFIX)/lib/chicken/7/margs.so : opensrc/margs/margs.scm
cd opensrc/margs;chicken-install
opensrc/histstore/hs : opensrc/histstore/histstore.scm chkn eggs $(PREFIX)/lib/sqlite3.so
opensrc/histstore/hs : opensrc/histstore/histstore.scm chkn eggs $(CHICKEN_EGG_DIR)/sqlite3.so
cd opensrc/histstore;$(PREFIX)/bin/csc histstore.scm -o hs
$(PREFIX)/bin/hs : opensrc/histstore/hs
cp -f opensrc/histstore/hs $(PREFIX)/bin/hs
# stml
stml.fossil :
|
︙ | | |
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
|
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
|
-
+
+
+
+
+
-
+
-
-
+
+
|
cp stml/install.cfg.template stml/install.cfg
cp stml/requirements.scm.template stml/requirements.scm
$(PREFIX)/lib/chicken/7/stml.so : stml/requirements.scm
cd stml;make
#======================================================================
# I U P
# F F C A L L (Used by IUP)
#======================================================================
ffcall.fossil :
fossil clone http://www.kiatoa.com/fossils/ffcall ffcall.fossil
ffcall/README : ffcall.fossil
mkdir -p ffcall
cd ffcall && if [ -e README ];then fossil update; else fossil open ../ffcall.fossil; fi
# NOTE: This worked fine *without* the enable-shared
#
$(PREFIX)/lib/libavcall.a : ffcall/README
cd ffcall;./configure --prefix=$(PREFIX) --enable-shared && make CC="gcc -fPIC" && make install
#======================================================================
# I U P
#======================================================================
iuplib.fossil :
fossil clone http://www.kiatoa.com/fossils/iuplib iuplib.fossil
iup/installall.sh : iuplib.fossil
mkdir -p iup
cd iup && if [ -e installall.sh ];then fossil update $(IUPBRANCH); else fossil open ../iuplib.fossil;fossil update $(IUPBRANCH); fi
cd iup && if [ -e makeall.sh ];then fossil update $(IUPBRANCH); else fossil open ../iuplib.fossil;fossil update $(IUPBRANCH); fi
iup/alldone : iup/installall.sh $(PREFIX)/include/iup.h $(PREFIX)/lib/libiup.so
cd iup && ./makeall.sh
iup/alldone : iup/makeall.sh $(PREFIX)/include/iup.h $(PREFIX)/lib/libiup.so
cd iup && ./makeall.sh $(IUPCONFIG)
$(PREFIX)/lib/libiup.so $(PREFIX)/include/iup.h : iup/installall.sh iup/alldone
cd iup && ./installall.sh
# $(PREFIX)/lib/libiup.so : iup/iup/alldone
# touch -c $(PREFIX)/lib/libiup.so
|
︙ | | |